Matlab高手请进!

有个system,x'=-(a+b)*x+c*yy'=b*x-c*y请问code使我任意设定(a,b,c)的值,然后画出(t,x),(t,y)的图像?... 有个system,
x' =-(a+b)*x+c*y
y'=b*x-c*y
请问code使我任意设定(a,b,c)的值,然后画出(t,x),(t,y)的图像?
展开
 我来答
手机用户38629
2011-03-22 · TA获得超过478个赞
知道答主
回答量:593
采纳率:100%
帮助的人:368万
展开全部
n=300时算出来的结果都是
0.97310803806268
这几种语言的都是采用IEEE-754的64位双精度浮点数的,精度是约15位十进制数

Fortran默认的应该也是双精度的浮点数,不过有些版本也支持128位精度的浮点数

其他语言一般不支持128位精度,如果你一定要,要下载附加的package,C/C++可以用
MIRACL
GMP

matlab还没有见过,如果只是要用你上面的程序,其实只需要用到加减乘除和exp(),自己写一个也不算难

补充:
我说的自己写一个的意思是自己写一个使用128位精度计算的加法、减法、乘法、除法、指数函数。

MIRACL, GMP就是这样用128精度计算的C/C++函数库,MATLAB没有见过这样的函数库,可能需要自己写。

既然你用Fortran可以支持128位精度计算,那最方便的就是用Fortran直接计算,或者使用Matlab对Fortran的接口,这个话题太大了,这里讲不来

补充二:

这个是matlab里的高精度计算toolbox,精度可以任意调整

我使用100位十进制的精度计算,结果是
y =
+.97310803806267328229195014415098271682317000718648226587062665151441784458895e0+0i
和用double精度计算没有差别,请检查你用fortran计算的程序是否有错
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
AiPPT
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图... 点击进入详情页
本回答由AiPPT提供
wacs5
2011-03-22 · TA获得超过1.6万个赞
知道大有可为答主
回答量:3724
采纳率:82%
帮助的人:2753万
展开全部
a=0.1;
b=0.2;
c=0.3;
f=@(t,x)[-(a+b)*x(1)+c*x(2);b*x(1)-c*x(2)];
xy0=[0;0.01]; %初值
[t,xy]=ode45(f,[0,1],xy0);
subplot(1,2,1)
plot(t,xy(:,1)) %(t-x)图像
subplot(1,2,2)
plot(t,xy(:,2))
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式