matlab自变量多个值,经公式运算,输出多个结果,如何编程

下面是我自己编的程序,公式就是eq1和eq2>>symsCRX;Y;A;eq1=((C/((1/2)+X+(1/(0.013*R))))*(1-Y))-R;eq2=((A... 下面是我自己编的程序,公式就是eq1和eq2

>> syms C R

X;Y;A;

eq1=((C/((1/2)+X+(1/(0.013*R))))*(1-Y))-R;

eq2=((A*(11*(C-40)))/(8*(C+80)))-R;

s=solve(eq1,eq2);

C=vpa(s.C,5)

X,Y,A的值我需要自己的数据库输入,如何输入?
展开
 我来答
lhmhz
高粉答主

2017-10-13 · 专注matlab等在各领域中的应用。
lhmhz
采纳数:7263 获赞数:17002

向TA提问 私信TA
展开全部

1、首先,建立一个自定义函数文件。如ex_fun.m,其文件内容

function [C,R]=ex_fun(X,Y,A)

syms C R

eq1=((C/((1/2)+X+(1/(0.013*R))))*(1-Y))-R;

eq2=((A*(11*(C-40)))/(8*(C+80)))-R;

s=solve(eq1,eq2);

C=vpa(s.C,5);

R=vpa(s.R,5);

end

2、再命令窗口或程序文件中,输入下列命令

X=5;Y=10;A=3;

[C,R]=ex_fun(X,Y,A)

3、计算结果

C =     40.,  -6.929, -84.139

R =     0., -2.649, 123.70

更多追问追答
追问

麻烦再问一下,如果X,Y,Z分别是三列数,我该怎么输入呢,就比如

X=[4.142502071;5.213764338;4.295532646];

Y =[0.6200; 0.6200;0.6200];

Z=[12;12;12]

还有好多数据,有什么办法输入到这里吗?我是新手,很多都不懂,麻烦您了

追答

这样的话,程序应采用循环语句来完成。即for。。。end语句

for i=1:n

X0=A(i,1);Y0=A(i,2);Z0=A(i,3);

syms C0 R0

eq1=((C0/((1/2)+X0+(1/(0.013*R0)))).*(1-Y0))-R0;

eq2=((Z0*(11.*(C0-40)))/(8*(C0+80)))-R0;

s=solve(eq1,eq2);

C(i,:)=vpa(s.C0,5);

R(i,:)=vpa(s.R0,5);

end

例如:

>>X=[4.142502071;5.213764338;4.295532646];Y=[0.6200;0.6200;0.6200];Z=[12;12;12];

>>[C,R]=ex_fun(X,Y,Z)

运行后得到如下结果

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式