翻译下面的 matlab 在每句命令符号后面打%注释。。谢谢
发布网友
发布时间:2024-10-14 12:20
我来回答
共4个回答
热心网友
时间:2024-10-14 14:11
一个matlab程序,如果脱离具体的算法环境,而去谈每一个语句的功能,其解释只能好比一个单词一个单词的翻译一篇英语文章一样,没有任何参考价值,反而会有云里雾里的感觉,对你学会matlab没有任何帮助
拿到程序,首先要弄明白这是做什么的程序,其基本算法是什么,才能很好地读懂一个程序。
我从来不喜欢一句一句的讲解一个matlab程序,只想说明:
这是采用所谓“欧拉折线法”求解微分方程:dy/dx=sinx*siny,并绘制积分曲线族的程序;(区间:-8~8,步长0.4,共绘制40条)
如果觉得我可以回答这个问题,欢迎追问。追问后请及时点击左下角的【采纳为满意回答】按钮
我一定会给你满意的答复,如果不认同,可以无视。
我是百度知道专家,你有问题也可以在这里向我提问:
http://zhidao.baidu.com/prof/view/yq_whut
热心网友
时间:2024-10-14 14:12
clear s t x0 y0 a b%清除workspace中这几个变量
syms s t %定义符号变量
f=sin(s)*sin(t); %定义函数
a=16.0; %赋值
b=16.0; %赋值
x0=-8; %赋值
y0=-8; %赋值
m=40; %赋值
n=40; %赋值
h1=a/m; %赋值
h2=b/n; %赋值
hold %预先画图保持,同hold on
for i=1:m %for 循环i开始
s=x0+(i-1)*h1; %变量s计算
for j=1:n %for 循环j开始
t=y0+(j-1)*h2;%变量t计算
d=eval(f); %函数f计算 并传给d
y1=t+2/3*h1*d;%中间变量y1计算
if abs(y1-t)>2/3*h2 %条件判断,条件真时执行下面语句
x1=s+1/d*h2*2/3; %中间变量x1计算
plot([s,x1],[t,t+h2*2/3]) %画图
else %条件假时执行下面语句
plot([s,s+h1*2/3],[t,y1]) %画图
end %条件判断结束
end %j循环结束
end %i循环结束
title('dy/dx=sinx*siny');%绘图名称
xlabel('x');%绘图x轴名称
ylabel('y') %绘图y轴名称
追问clear s t x0 y0 a b %从头开始, 清除workspace中这几个变量,
syms s t %定义符号变量, 答案包含符号变量s,t
f=sin(s)*sin(t); %定义函数
a=16.0; %赋值
b=16.0; %赋值
x0=-8; %赋值
y0=-8; %赋值
m=40; %赋值
n=40; %赋值
h1=a/m; %赋值
h2=b/n; %赋值
hold %预先画图保持,同holdon
for i=1:m %for 循环i开始, i=1 到m, 共计循环m次
s=x0+(i-1)*h1; %变量s计算
for j=1:n %for 循环j开始, j=1 到n, 共计循环n次
t=y0+(j-1)*h2;%变量t计算
d=eval(f); %函数f计算 并传给d
y1=t+2/3*h1*d;%中间变量y1计算
ifabs(y1-t)>2/3*h2 %条件判断,条件真时执行下面语句
x1=s+1/d*h2*2/3; %中间变量x1计算
plot([s,x1],[t,t+h2*2/3]) %画图 ([s,x1],[t,t+h2*2/3])
else %条件假时执行下面语句
plot([s,s+h1*2/3],[t,y1]) %画图 [s,s+h1*2/3],[t,y1]
end %条件判断结束
热心网友
时间:2024-10-14 14:12
clear s t x0 y0 a b %从头开始, 清除workspace中这几个变量,
syms s t %定义符号变量, 答案包含符号变量s,t
f=sin(s)*sin(t); %定义函数
a=16.0; %赋值
b=16.0; %赋值
x0=-8; %赋值
y0=-8; %赋值
m=40; %赋值
n=40; %赋值
h1=a/m; %赋值
h2=b/n; %赋值
hold %预先画图保持,同holdon
for i=1:m %for 循环i开始, i=1 到m, 共计循环m次
s=x0+(i-1)*h1; %变量s计算
for j=1:n %for 循环j开始, j=1 到n, 共计循环n次
t=y0+(j-1)*h2;%变量t计算
d=eval(f); %函数f计算 并传给d
y1=t+2/3*h1*d;%中间变量y1计算
ifabs(y1-t)>2/3*h2 %条件判断,条件真时执行下面语句
x1=s+1/d*h2*2/3; %中间变量x1计算
plot([s,x1],[t,t+h2*2/3]) %画图 ([s,x1],[t,t+h2*2/3])
else %条件假时执行下面语句
plot([s,s+h1*2/3],[t,y1]) %画图 [s,s+h1*2/3],[t,y1]
end %条件判断结束
热心网友
时间:2024-10-14 14:18
clear s t x0 y0 a b%清除workspace中这几个变量
syms s t %定义符号变量
f=sin(s)*sin(t); %定义函数
a=16.0; %赋值
b=16.0; %赋值
x0=-8; %赋值
y0=-8; %赋值
m=40; %赋值
n=40; %赋值
h1=a/m; %赋值
h2=b/n; %赋值
hold %预先画图保持,同hold on
for i=1:m %for 循环i开始
s=x0+(i-1)*h1; %变量s计算
for j=1:n %for 循环j开始
t=y0+(j-1)*h2;%变量t计算
d=eval(f); %函数f计算 并传给d
y1=t+2/3*h1*d;%中间变量y1计算
if abs(y1-t)>2/3*h2 %条件判断,条件真时执行下面语句
x1=s+1/d*h2*2/3; %中间变量x1计算
plot([s,x1],[t,t+h2*2/3]) %画图
else %条件假时执行下面语句
plot([s,s+h1*2/3],[t,y1]) %画图
end %条件判断结束
end %j循环结束
end %i循环结束
title('dy/dx=sinx*siny');%绘图名称
xlabel('x');%绘图x轴名称
ylabel('y') %绘图y轴名称