24小时热门版块排行榜    

查看: 1679  |  回复: 7

815292578

木虫 (著名写手)

[求助] 现在用MATLAB求解一个循环后画出曲线遇到问题,求大神指点!! 已有3人参与

现在用MATLAB求解一个循环后画出曲线遇到一个小问题;
源程序如下:

Dj=6.93;  
k=0.28;  
t=1/(2*k);
angle=45.6*pi/180;
d=16;
a=angle;
b=pi/2;
n=10;
h=(b-a)/n;
for i=1:1:n+1;
    psaiI=angle+(i-1)*h;   
    z=fsolve(@(z)tan(psaiI)*sqrt((1-(2*z-1)/z^2)*(1-1/((2*z-1)^t)^2))-1/((2*z-1)^t)-sqrt((2*z-1)/z^2),1);
    Dm=Dj*sqrt(z^2/(2*z-1));
    xx=fsolve(@(x)cos(x)/sin(psaiI-x)-sqrt(z^2/(2*z-1)),0);   
    plot(psaiI,xx) %绘制曲线,psaiI为横坐标,xx为纵坐标
end
为什么运行总是错误!感觉前面计算都可以,就是在plot(psaiI,xx)这步出问题,求大神指点啊。对matlab不熟悉啊。
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

aazzyyhello

铜虫 (初入文坛)

【答案】应助回帖

感谢参与,应助指数 +1
你的程序画的不是曲线,而是曲线上的点,你需要指定这些点的颜色和记号形式

» 本帖已获得的红花(最新10朵)

无论好事坏事,都会让我成长!
2楼2014-10-23 07:57:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

815292578

木虫 (著名写手)

送红花一朵
引用回帖:
2楼: Originally posted by aazzyyhello at 2014-10-23 07:57:49
你的程序画的不是曲线,而是曲线上的点,你需要指定这些点的颜色和记号形式

是的,我画的是曲线上的点,可是怎样把这些点连接起来呢?请指教...
我输出曲线上的点没问题,连接这些点就不会操作了。
3楼2014-10-23 08:08:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

aazzyyhello

铜虫 (初入文坛)

【答案】应助回帖

你要先用循环形成两个数组psaiI,xx,然后在循环外画图就是曲线了。
无论好事坏事,都会让我成长!
4楼2014-10-23 08:11:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hytao2012

铁杆木虫 (正式写手)

木头虫子

【答案】应助回帖

感谢参与,应助指数 +1
Dj=6.93;  
k=0.28;  
t=1/(2*k);
angle=45.6*pi/180;
d=16;
a=angle;
b=pi/2;
n=10;
h=(b-a)/n;
for i=1:1:n+1;
    psaiI(i)=angle+(i-1)*h;   
    z=fsolve(@(z)tan(psaiI)*sqrt((1-(2*z-1)/z^2)*(1-1/((2*z-1)^t)^2))-1/((2*z-1)^t)-sqrt((2*z-1)/z^2),1);
    Dm=Dj*sqrt(z^2/(2*z-1));
    xx(i)=fsolve(@(x)cos(x)/sin(psaiI-x)-sqrt(z^2/(2*z-1)),0);   
end
plot(psaiI,xx) %绘制曲线,psaiI为横坐标,xx为纵坐标

» 本帖已获得的红花(最新10朵)

5楼2014-10-23 08:42:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

815292578

木虫 (著名写手)

送红花一朵
引用回帖:
5楼: Originally posted by hytao2012 at 2014-10-23 08:42:10
Dj=6.93;  
k=0.28;  
t=1/(2*k);
angle=45.6*pi/180;
d=16;
a=angle;
b=pi/2;
n=10;
h=(b-a)/n;
for i=1:1:n+1;
    psaiI(i)=angle+(i-1)*h;   
    z=fsolve(@(z)tan(psaiI)*sqrt((1-(2*z-1)/z^2)*( ...

谢谢你的回复啊,不过怎么运行时总是报错啊?能否帮着检查一下?我感觉应该没问题的。
6楼2014-10-23 16:55:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sxf2012

木虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
815292578: 金币+10, ★★★★★最佳答案, 十分感谢啊..... 2014-10-27 10:39:13
[code]
z=fsolve(@(z)tan(psaiI)*sqrt((1-(2*z-1)/z^2)*(1-1/((2*z-1)^t)^2))-1/((2*z-1)^t)-sqrt((2*z-1)/z^2),1);
xx(i)=fsolve(@(x)cos(x)/sin(psaiI-x)-sqrt(z^2/(2*z-1)),0);   
[\code]
这两句中的psaiI改为psaiI(i)
7楼2014-10-24 10:20:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

815292578

木虫 (著名写手)

引用回帖:
7楼: Originally posted by sxf2012 at 2014-10-24 10:20:09
z=fsolve(@(z)tan(psaiI)*sqrt((1-(2*z-1)/z^2)*(1-1/((2*z-1)^t)^2))-1/((2*z-1)^t)-sqrt((2*z-1)/z^2),1);
xx(i)=fsolve(@(x)cos(x)/sin(psaiI-x)-sqrt(z^2/(2*z-1)),0);   

这两句中的psaiI改为psaiI(i)...

十分感谢,回复晚了,请不要见怪。谢谢......
8楼2014-10-27 10:38:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 815292578 的主题更新
信息提示
请填处理意见