小编kan*_*ndo的帖子

根据导数或指数级别对 Mathematica 中的公式进行排序

我有一个阻抗方程,我已将其转移到 Mathematica,希望能简化它。它代表电路原理图,电路阻抗(Z,来自 V = iZ)是 s 平面中多项的很大一部分。

作为一个简短的例子,它可能看起来像:

 L0s + (R1/(1 + R1 C1 s) + R3b + L3s + V3/s)/(R2a L2a s/(R2a + L2a s))
Run Code Online (Sandbox Code Playgroud)

我想将数据重新排列为:

k1*s^-1 + k2*s^0 + k3*s^1 ...  
Run Code Online (Sandbox Code Playgroud)

与代表多余数据的所有值k(各种 R、L 和 C 值的分数)。

什么公式操作最适合用来制作这些类型的结构?



我相信该Collect函数无法根据 s 的指数处理分离事物,即使方程经过简化然后展开全部,由于项之间的划分级别 - 有几层未解析的分数。

在想知道这个问题的同时,我也很好奇,如果我将所有内容都转换到时域,是否可以按素数(导出/积分的次数)排序?

S c0 + c1 + d/dt*c2 + d^2/dt^2*c3 ...
Run Code Online (Sandbox Code Playgroud)

sorting wolfram-mathematica exponent derivative

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

根据不同的范围有条件地格式化范围

鉴于该表:

A| B | C = SUM($D2:$Z2) | D | E | F | ...
Run Code Online (Sandbox Code Playgroud)

对于一系列行(例如: ),如果4:50,则为列Cx:Zx(对于行)着色,而不为每个单独的行和/或每个单独的列制定条件规则?xBx > Cx

(假设有很多行和很多列。)

google-sheets gs-conditional-formatting

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

Simulink:使用Mask控制变体子系统

我想找到一个简单的过程,使用掩码参数在掩码下切换模型内部.

这个问题已经扩展到足以让它在这里得到重新实现.

变体子系统是一种很好的方法,可以通过工作空间参数进行控制;
但是,我发现掩码参数不与变量子系统选择接口.

此链接是关于如何使用掩码参数更改系统内部块的一系列帖子中的第一个; 但是,该方法不像使用变体子系统和开关那样直观.
这个链接也是从2008年开始的,我相信它可能在某个时候被取代了.

MWE

我制作了一个包含标记系统的模型Source.
它连接到Display显示其输出的块.

Source是一个变体子系统.
它包含3个变种:

  • Source\One
  • Source\Two
  • Source\Three.

每个变体包含一个Constant块.块
的值Constant与块标签是同名的.
例如, Source\Two包含具有值的常量块2.

Source也是一个蒙面子系统.
它的掩码包含一个Radio Button带有标记值的参数variantValue.参数
Radio Button选项variantValue是:

  • 选择1
  • 选择2
  • 选择3

掩码Initialization代码如下:

switch variantValue

case 'Choice 1'
set_param('Source','OverrideUsingVariant','One')
disp('One')

case 'Choice 2'
set_param('Source','OverrideUsingVariant','Two')

case 'Choice 3'
set_param('Source','OverrideUsingVariant','Three')

end
Run Code Online (Sandbox Code Playgroud)

我已将变体设置为Override.我无法设置掩码以允许库块修改内容,因为它是灰色的.

当作为变体子系统的屏蔽子系统工作时,我会将变体子系统从掩蔽的子系统中更深入地放入层次结构中.

matlab simulink masking

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

创建具有不匹配向量的矩阵

如何输入由不匹配矢量组成的矩阵,以便缺失值用零填充0或不填充数字NaN

(显然,可以首先创建一个零的矩阵,并且可以逐行添加不匹配的向量,但是如果我想对此进行1行呢?)

例:

如何输入矩阵,例如:

a = [
      1   2   3   4;
      1   2        ; 
      1            ;
    ];
Run Code Online (Sandbox Code Playgroud)

这导致:

a = [
      1   2   3   4;
      1   2   0   0; 
      1   0   0   0;
    ];
Run Code Online (Sandbox Code Playgroud)

要么

c = [
      1   2   3   4;
      1   2 NaN NaN; 
      1 NaN NaN NaN;
    ];
Run Code Online (Sandbox Code Playgroud)

不受欢迎的解决方案:

a        = zeros(3,4);
a(1,1:4) = [1 2 3 4];
a(2,1:2) = [1 2    ];
a(3,1:1) = [1      ];
Run Code Online (Sandbox Code Playgroud)

matlab matrix

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

Homebrew:“错误:无法在 Intel 默认前缀 (/usr/local) 的 ARM 处理器上的 Homebrew 中安装!”

背景

\n

我遵循了指南(关于使用Apple Game Porting Toolkit),其中指出:

\n
\n

即使您已经Homebrew在 macOS 上安装,它也可能是为 Apple Silicon 安装的。您需要为 Intel 架构安装它:

\n
\n
arch -x86_64 zsh\n\n/bin/bash -c \xe2\x80\x9c$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\xe2\x80\x9d\n\nexport PATH="/usr/local/bin:${PATH}"\n
Run Code Online (Sandbox Code Playgroud)\n

问题

\n

现在,在新终端中,brew命令会生成以下消息:

\n
\n

错误:无法在 Intel 默认前缀 (/usr/local) 的 ARM 处理器上安装 Homebrew!\n请使用以下位置的\n“替代安装”
之一在 /opt/homebrew 中创建新安装: \n https://docs.brew.sh/Installation \n您可以使用以下命令迁移以前安装的公式列表:\nbrew 包倾倒



\n
\n

除非我再次运行:

\n
arch -x86_64 zsh\n
Run Code Online (Sandbox Code Playgroud)\n

问题

\n

有没有办法以brew默认形式开始,但不会破坏:

\n
PATH="/usr/local/bin:${PATH}" arch -x86_64 /usr/local/bin/gameportingtoolkit-no-hud ~/Games/battle-net  ~/Games/battle-net/drive_c/Program\\ Files\\ \\(x86\\)/Battle.net/Battle.net\\ Launcher.exe\n
Run Code Online (Sandbox Code Playgroud)\n …

homebrew

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