matlab计算不定积分 循环

问题描述:这是一个关于r的函数,r的取值,r=0:0.01:0.3,函数见下图。想得到使用循环语句,计算每一个r对应的F,然后画出r-F曲线,再拟合,不知道这个程序怎么编... 问题描述:这是一个关于r的函数,r的取值,r=0:0.01:0.3,函数见下图。想得到使用循环语句,计算每一个r对应的F,然后画出r-F曲线,再拟合,不知道这个程序怎么编。注 下图的积分原函数不能使用初等函数表示,因此才想拟合出曲线for r=0:1:300;x=0:0.01:pi;f=(1+cos(x)).^0.5;F=quad('f(x)',0,2*pi);
上边那个代码我简化了 f
f=(1+r.*cos(x)).^0.5
展开
 我来答
lhmhz
高粉答主

2017-12-21 · 专注matlab等在各领域中的应用。
lhmhz
采纳数:7264 获赞数:17014

向TA提问 私信TA
展开全部

1、变量积分可以用matlab的循环语句计算其某一值下的积分值,再绘制其曲线。实现过程如下:

r=0:0.01:0.3;

n=length(r);

for i=1:n

    syms theta

    r0=r(i);

    F0=int(sqrt(1+r0*cos(theta)),0,2*pi);

    F(i)=double(F0);

end

plot(r,F,'r-')

xlabel('r'),ylabel('F')

str = ['F(r)曲线图'];

title(str);

运行结果

2、函数拟合方法,首先要根据已知数据,r=[。。。];F=[。。。];;其二,假定数学拟合函数,func=@(a,r)  "拟合函数表达式";其三,初定a的初值;其四,用nlinfit()函数求拟合系数,[a,r,J]=nlinfit(r,F,func,a0);其五,根据得到拟合系数,计算新的F值(即F1);其六,求Δ=F-F1差值,当Δ≈0时,拟合工作结束。此时的拟合函数,就是你所需要的。



推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式