24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1731  |  回复: 11
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

klding

新虫 (小有名气)

[求助] 牛顿迭代解方程画曲线已有2人参与

最近需根据一个方程计算用matlab来画一个图,但是总是不出结果,在此向大家求助。
方程如下图,方程中有3个符号变量,其中a和C0是通过前面的数值计算计算出来的,然后在a为某一值时,做出C0-Cw曲线。这里希望就是对a一定时,C0=0.1:0.1:10,分别求出对应的Cw的各个数据,而不是利用隐函数ezplot()来画图,如下图所示。
我现在编的若已知a和Co求Cw的话,可以做出来这单个的一组,但是一旦来做这条曲线时就怎么弄都弄不出来。希望大家帮忙看一下,指点一二(后面赋有一个matlab文件)。

牛顿迭代解方程画曲线
公式.png


牛顿迭代解方程画曲线-1
曲线.jpg
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

klding

新虫 (小有名气)

引用回帖:
9楼: Originally posted by wurongjun at 2016-12-14 17:50:48
Matlab的优势是数值计算!
不要使用syms命令最好!
否则很慢!

这里不是必须用syms吗。像我这个还有其他方法吗?
11楼2016-12-14 21:17:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 12 个回答

bluesine

铁杆木虫 (职业作家)

科苑小木虫

【答案】应助回帖

感谢参与,应助指数 +1
把你的程序稍微改动了一下,不多说,看code:

clear; clc;
a=0.6;
syms Cw Cw0;

C=0.1;
i=1;
while C<=10

f=Cw-1/(1-a^4)*(4/pi*(1/3*(2.5-1/(Cw+C)^2)*(1-1/(Cw+C)^2)^0.5+(Cw+C)/2*asin(1/(Cw+C)))-a^4*(Cw+C));%%牛顿迭代形式
df=diff(f,Cw);
eps=1e-7;
Cw0=10.0;
cnt=0;
MAXCNT=200; %最大循环次数

while cnt<MAXCNT      %防止无限循环
    Cw1=Cw0-subs(f,Cw,Cw0)/subs(df,Cw,Cw0); %去掉这个分号,可以看到迭代过程。
     if (abs(Cw1-Cw0)<eps)         
      break;
    end
    Cw0=Cw1;
    cnt=cnt+1;
end
error=abs(Cw1-Cw0)/2;  %%误差
if cnt==MAXCNT || error > eps
    disp(['不收敛@C=',num2str(C)]);
    continue;
end

Y(i) =Cw0;
i=  i+1;
C = C+0.1;
end

X = 0.1:0.1:10;
plot(X,Y,'r','LineWidth',2);
xlabel('{\itC}_0');
ylabel('{\itC}_w');
disp('done...')
板凳要做十年冷文章不发一个字
3楼2016-12-13 15:21:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

klding

新虫 (小有名气)

引用回帖:
3楼: Originally posted by bluesine at 2016-12-13 15:21:16
把你的程序稍微改动了一下,不多说,看code:

clear; clc;
a=0.6;
syms Cw Cw0;

C=0.1;
i=1;
while C<=10

f=Cw-1/(1-a^4)*(4/pi*(1/3*(2.5-1/(Cw+C)^2)*(1-1/(Cw+C)^2)^0.5+(Cw+C)/2*asin(1 ...

你好,很感谢你。但是我把你的程序导进去后发现进入死循环了,停不下来啊
4楼2016-12-13 21:09:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bluesine

铁杆木虫 (职业作家)

科苑小木虫

【答案】应助回帖

引用回帖:
4楼: Originally posted by klding at 2016-12-13 21:09:49
你好,很感谢你。但是我把你的程序导进去后发现进入死循环了,停不下来啊...

并不是死循环,具体看电脑配置。。因为没有输出中间结果,需要等一会,我的大概在15秒左右出结果。看附件
牛顿迭代解方程画曲线-2
test.jpg

板凳要做十年冷文章不发一个字
6楼2016-12-14 09:21:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见