急!matlab怎么算如下递归问题!!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了急!matlab怎么算如下递归问题!!相关的知识,希望对你有一定的参考价值。
其中x=6.5555,y=1.3778 如果大神还能画出g(n)关于n的图像,小弟再多加悬赏!感激不尽!
x=6.5555;y=1.3778;
L=100;%设置n的最大值。
n=1:L;%n取1到L。
f=1/x*(1-1/y).^(n-1);%计算f(n)的所有值。
g=f(1)*ones(1,100);%生成g(n)初始数组,g(1)=f(1)。
for i=2:L
g(i)=(1-sum(g(1:(i-1)))).*f(i);
end
plot(g);
xlabel('n'),ylabel('g(n)');
参考技术A ns = (1:100).';
x=6.5555;
y=1.3778;
fs = 1/x * (1-1/y).^(ns-1) ;
gs = fs;
for k = 2:length(gs)
gs(k) = (1-sum(gs(1:k-1)))*fs(k);
end
plot(ns, gs);本回答被提问者采纳
MATLAB怎样用数据算出正弦函数
可以用fit函数进行拟合,你可以查看帮助文件了解fit函数的具体用法。我举个简单的例子:已知有一组数据:
x=[1 2 3 4 5 6 7 8 9 10];y=[0.1411 -0.2794 0.4121 -0.5366 0.6503 -0.7510 0.8367 -0.9056 0.9564 -0.9880]
然后对其进行拟合,你合成y=asin(bx)
代码如下:
mymodel=fittype(\'a*sin(b*x)\');
opts=fitoptions(mymodel);
[fit1,gof1,out1]=fit(x\',y\',mymodel,opts)
然后会显示结果对结果进行检查发现,系数值偏差很大,拟合情况很不理想,你可以通过gof1第一项察看,他是拟合后与拟合前y值差的平方和。
然后你可以调节待求系数的上下限,用opts.lower=[0 2];opts.upper=[2 4];这两个命令,[]里的值按判断设定,使拟合更合理。 参考技术A >>x=0.5236;
>>sin(x) 参考技术B lsqcurvefit函数,具体使用方法你可以查询
以上是关于急!matlab怎么算如下递归问题!!的主要内容,如果未能解决你的问题,请参考以下文章