作业帮 > 综合 > 作业

matlab 怎么编循环函数

来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/08/05 05:51:49
matlab 怎么编循环函数
求助大神帮我把下面程序改成‘0.005’这个值为【0.005;0.001;0.015】
的循环函数
clc;
f=@(x)([3*log10(x(1))-2*log10(0.005)-0.3060*0.005+0.088*x(1)-2020.8*x(2)+19.21;2*log10(0.005)+3*log10(x(2))-11.61*0.005-813.0940*x(1)-13.8*x(2)+14.54]);
x0=[0.0000001;0.00002];
x=fsolve(f,x0)
digits(10)
vpa(x)
matlab 怎么编循环函数
digits(10)
for i = [0.005 0.001 0.015]
    f=@(x)([3*log10(x(1))-2*log10(i)-0.3060*i+0.088*x(1)-2020.8*x(2)+19.21;
        2*log10(i)+3*log10(x(2))-11.61*i-813.0940*x(1)-13.8*x(2)+14.54]);
    x0=[0.0000001; 0.00002];
    disp('----');
    x = fsolve(f,x0)
    vpa(x)
end
再问: 谢谢您了,我还想问一下,能不能把算到的结果按照表格的形式输出到一起呢
再答: 你要后序使用这些值的话不妨存入一个矩阵中:
digits(10)
x0=[0.0000001; 0.00002];
r = [];
opts = optimset('Diagnostics','off', 'Display','off');

for i = [0.005 0.001 0.015]
    f=@(x)([3*log10(x(1))-2*log10(i)-0.3060*i+0.088*x(1)-2020.8*x(2)+19.21;
        2*log10(i)+3*log10(x(2))-11.61*i-813.0940*x(1)-13.8*x(2)+14.54]);
    r = [r vpa(fsolve(f,x0,opts))];
end运行后,变量r为:>> r
 
r =
 
[ 0.00000002557851021, 0.000000004063989901, 0.00000003655617472]
[     0.0005117576557,     0.00002003420698,     0.0002682664904]每一列对应一个i