【发布时间】:2013-11-22 00:38:17
【问题描述】:
我编写了一个代码来在循环中绘制一个函数。对于循环的每个值编号 (n = 4:4:32),我有一些变量会随该值而变化,问题就来了。 如果我不使用 for 循环,我的情节就是它所必须的,而使用循环却不是因为我的函数是根据 n 评估的,但变量没有。
我不明白为什么会这样:例如,对于 n=12,两个绘图图像不应该相同吗?我上传了两张图片,都是 n=12,第一张没有使用循环,第二张使用循环。
第一张图片:http://i.stack.imgur.com/q1qhA.png 第二张图片:http://i.stack.imgur.com/ksMuI.png
代码
a = -1; b = 3;
lambda = [];
xx = linspace(a,b,1000);
df = prac8fun2(xx);
for n = 4:4:32
D = zeros(n+1,n+1);
x = linspace(a,b,n+1);
for jj = 1:n+1
lambdaj = (-1)^(n-(jj-1)).*nchoosek(n,jj-1);
lambda = [lambda, lambdaj];
end
lambda = lambda.*((n^n)/(factorial(n)*(b-a)^n));
for jj = 1:n+1
for ii = 1:n+1
if ii == jj
D(ii,jj) = sum((x(jj)-[x(1:jj-1), x(jj+1:end)]).^(-1));
else
D(ii,jj) = lambda(jj)./(lambda(ii)).*(x(ii)-x(jj)).^(-1);
end
end
end
Df = D*prac8fun(x)';
plot(xx,df,'k','linewidth',2); hold on;
plot(x,Df,'-or'); grid on;
pause
close
end
注意:prac8fun 和 prac8fun2 是保存在不同 .m 文件中的函数。
段落
请解释您与代码中的变量有关的问题。至少我不清楚这个问题
我不知道如何更好地解释自己,所以我上传了一个视频来展示我的问题。 视频(必须用http替换htp):htp://youtu.be/dWredX5z8XY
感谢您的宝贵时间 :)
【问题讨论】:
-
请解释您的代码中的变量问题。至少我不清楚这个问题。
标签: matlab loops for-loop plot