定义矩阵Si = [1,2,3,4,5]; Ei = [9,11,7,22,9],定义自变量m,编写代码实现m变化时,取出Si、Ei数值带入函数
时间: 2024-03-20 10:41:47 浏览: 121
以下是MATLAB代码实现:
```matlab
Si = [1,2,3,4,5];
Ei = [9,11,7,22,9];
m = 5;
CTmX = zeros(1,m);
for t = 1:m
CMiX = 200 + (Ei - Si - 2)/5;
CTmX(t) = CMiX(t);
end
sumCTmX = sum(CTmX);
```
在这段代码中:
- 定义矩阵`Si`和`Ei`。
- 定义自变量`m`,取值为1到5。
- 循环计算`CTmX`的每一项,其中计算`CMiX`函数。注意到此时`CMiX`函数已经不包含符号变量,可以直接计算。
- 用MATLAB内置函数`sum()`计算`CTmX`的总和。
最后,`sumCTmX`表示`m=1`到`m=5`时的`CMiX`函数值的总和。
相关问题
syms Ei Si z1 = 200; z2 = 100; z3 = 2; z4 = 5; theta = 1; Si = [1,2,3;4,5,6]; Ei = [9,11,7;6,22,9]; CMiX = z1 + theta*z2/z4*(Ei-Si-z3); m = 5; CTmX = zeros(1,m); for t = 1:m CTmX(t) = subs(CMiX, [Ei,Si], [t,t+5]); CTmX(t) = symsum(CTmX(t),t,1,m); end
在这段代码中,`Si`和`Ei`被重新定义为矩阵,与之前定义的符号变量同名,会导致程序报错。因为在MATLAB中,变量名与符号变量名不能相同。
如果您想要将矩阵`Si`和`Ei`代入到`CMiX`公式中计算,可以将它们定义为普通矩阵,而不是符号变量。这样,您需要修改代码如下:
```matlab
z1 = 200;
z2 = 100;
z3 = 2;
z4 = 5;
theta = 1;
Si = [1,2,3;4,5,6];
Ei = [9,11,7;6,22,9];
CMiX = z1 + theta*z2/z4*(Ei-Si-z3);
m = 5;
CTmX = zeros(1,m);
for t = 1:m
CTmX(t) = subs(CMiX, [Ei,Si], [t,t+5]);
CTmX(t) = symsum(CTmX(t),t,1,m);
end
```
在这段修改后的代码中,`Si`和`Ei`被定义为普通矩阵,而不是符号变量。这样,就可以直接代入到`CMiX`公式中进行计算。
定义矩阵Ei、Si,z1=200,z2=100,z3=2;z4=5,theta=1,CMiX=z1+thetaz2/z4(Ei-Si-z3),自变量m取值为1到5,编写MATLAB代码,实现m数值变化时,从矩阵Ei、Si中取不同数值,求函数CMiX取不同之后的总和
以下是MATLAB代码实现:
```matlab
z1 = 200;
z2 = 100;
z3 = 2;
z4 = 5;
theta = 1;
Si = [1,2,3;4,5,6];
Ei = [9,11,7;6,22,9];
CMiX = z1 + theta*z2/z4*(Ei-Si-z3);
m = 5;
CTmX = zeros(1,m);
for t = 1:m
CTmX(t) = subs(CMiX, [Ei,Si], [t,t+5]);
end
sumCTmX = sum(CTmX);
```
在这段代码中:
- 定义常数`z1`、`z2`、`z3`、`z4`和`theta`。
- 定义矩阵`Si`和`Ei`。
- 定义`CMiX`函数,其中用`Ei`和`Si`的数值替换了符号变量。
- 定义自变量`m`,取值为1到5。
- 循环计算`CTmX`的每一项,其中用`subs()`函数将`Ei`和`Si`替换成不同的值。
- 用MATLAB内置函数`sum()`计算`CTmX`的总和。
最后,`sumCTmX`表示`m=1`到`m=5`时的`CMiX`函数值的总和。
阅读全文