小编vec*_*r07的帖子

获取mathematica以使用另一个等式简化表达式

我有一个非常复杂的mathematica表达式,我想通过使用一个新的,可能无量纲的参数来简化.

我的表达的一个例子是:

K=a*b*t/((t+f)c*d);
Run Code Online (Sandbox Code Playgroud)

(实际表达式是巨大的,数千个字符).我想用p替换所有出现的表达式t /(t + f)

p=t/(t+f);
Run Code Online (Sandbox Code Playgroud)

这里的目标是找到一个替代品,以便所有的t和f都被p代替.在这种情况下,替换p是一个无量纲化的参数,因此它似乎是一个很好的候选替代品.

我无法弄清楚如何在mathematica中做到这一点(或者如果可能的话).我试过了:

eq1= K==a*b*t/((t+f)c*d);
eq2= p==t/(t+f);
Solve[{eq1,eq2},K]
Run Code Online (Sandbox Code Playgroud)

毫不奇怪,这不起作用.如果有一种方法可以强制它用p,a,b,c,d来解决K ,这可能会起作用,但我也无法弄清楚如何做到这一点.思考?


编辑#1(11/10/11 - 1:30)[删除以简化]

好的,新机智.我采用了p = ton /(ton + toff)并将p乘以几个表达式.我知道p可以完全消除.新表达式(以p表示)是

testEQ = A B p + A^2 B p^2 + (A+B)p^3;
Run Code Online (Sandbox Code Playgroud)

然后我替换p,并调用(正常)FullSimplify,给我这个表达式.

testEQ2= (ton (B ton^2 + A^2 B ton (toff + ton) + 
   A (ton^2 + B (toff + ton)^2)))/(toff + ton)^3;
Run Code Online (Sandbox Code Playgroud)

最后,我尝试了下面的所有建议,除了最后一个(不知道它是如何工作的!)

只有消除选项有效.所以我想我会从现在开始尝试这种方法.谢谢.

EQ1 = a1 == (ton (B ton^2 + A^2 B ton (toff + ton) + 
        A (ton^2 …
Run Code Online (Sandbox Code Playgroud)

wolfram-mathematica simplify

16
推荐指数
3
解决办法
2万
查看次数

添加~10000个键后,unordered_map中的分段错误

当datact = 10736尝试插入unordered_map时,会发生分段错误(请参阅调用行,该调用行将调用该错误).请参阅下面的尝试修复.

当抛出SIGSEGV时,它指向我的第764行 hashtable_policy.h

INPUT:数据文件,其中column1 = count,column2 = 16个字符的字符串

目的:通过将1-替换不同序列的所有计数加在一起来聚类16个字符的序列.看到的第一个序列是"起源",通过它来识别其所有的1个替换朋友.

PSEUDOCODE:对于文件中的每一行:

  1. 读取计数,读取序列.

  2. 如果序列key_value存在于散列'location'(类型unordered_map)中,则添加当前计数;

  3. 否则创建一个新的key_value,让它指向此处的计数,并指定所有1个替换序列也指向此计数.

码:

#include <iostream>
#include <fstream>
#include <string>
#include <sstream>
#include <cmath>
#include <vector>
#include <unordered_map>
#include <map>

#include "matrix.h"

using namespace std;

int nuc2num(char currchar)
{   // returns 0,1,2,3 for A,C,T,G respectively
    int outnum;

    if (currchar=='A')
    {
        outnum=0;
    }
    else if (currchar=='C')
    {
        outnum=1;
    }
    else if (currchar=='T')
    {
        outnum=2;
    }
    else
    {
        outnum=3;
    }
    return outnum;
}

int main(int argc, char* argv[])
{
    //command …
Run Code Online (Sandbox Code Playgroud)

c++ unordered-map segmentation-fault

1
推荐指数
1
解决办法
2226
查看次数