matlab 欧拉法程序错误程序:欧拉法:function [x,y] = eular_f (f,xint,yint,x
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/10/04 12:21:56
matlab 欧拉法
程序错误
程序:欧拉法:
function [x,y] = eular_f (f,xint,yint,xfinal,n)
h = (xfinal-xinit)/n;
x = [xinit zeros(1,n)];
y = [yinit zeros(1,n)];
for i = 1:n
x(i+1) = x(i)+h;
y(i+1) = y(i)+h*f(x(i),y(i));
end
end
改进的欧拉法:
function
[x,y] = eular_modified(f,xinit,yinit,xfinal,n)
h = (xfinal-xinit)/n;
x = [xinit zeros(1,n)];
y = [yinit zeros(1,n)];
for i = 1:n
x(i+1) = x(i)+h;
ynew = y(i)+h*f(x(i),y(i));
y(i+1) = y(i)+(h/2)*(f(x(i),y(i))+f(x(i+1),ynew));
end
end
在MATLAB的Editor中调用以上两个函数,输入:
f = @(x,y) 1/x^2-y/x;
g = @(x) (log(x)+1)/x;
xe = [1:0.05:2];
ye = g(xe);
%Call functions
[x1,y1] = eular_f(f,1,2,0.05,20);
[x2,y2] = eular_modified(f,1,2,0.05,20);
%Plot
plot(xe,ye,’k-’,x1,y1,’k-.’,x2,y2,’k:’)
xlabel(‘x’)
ylabel(‘y’)
legend(‘Analytical’,’Forward’,’Modified’)
axis([1 2 1 1])
%Estimate errors
error1 = [‘Forward
error.’
num2 str-100*(ye(end)-y1(end)/ye(end) ’%’)];
error2 = [‘Modified
error.’
num2 strl-100*lye(end)-yz(end)/ye(end) ’%’];
error = {error1,error2};
text(0.04,1.06,error)
结果显示?plot(xe,ye,’k-’,x1,y1,’k-.’,x2,y2,’k:’)
|
Error:Missing variable or function.
请问哪儿出错了,该怎么修改啊?
程序错误
程序:欧拉法:
function [x,y] = eular_f (f,xint,yint,xfinal,n)
h = (xfinal-xinit)/n;
x = [xinit zeros(1,n)];
y = [yinit zeros(1,n)];
for i = 1:n
x(i+1) = x(i)+h;
y(i+1) = y(i)+h*f(x(i),y(i));
end
end
改进的欧拉法:
function
[x,y] = eular_modified(f,xinit,yinit,xfinal,n)
h = (xfinal-xinit)/n;
x = [xinit zeros(1,n)];
y = [yinit zeros(1,n)];
for i = 1:n
x(i+1) = x(i)+h;
ynew = y(i)+h*f(x(i),y(i));
y(i+1) = y(i)+(h/2)*(f(x(i),y(i))+f(x(i+1),ynew));
end
end
在MATLAB的Editor中调用以上两个函数,输入:
f = @(x,y) 1/x^2-y/x;
g = @(x) (log(x)+1)/x;
xe = [1:0.05:2];
ye = g(xe);
%Call functions
[x1,y1] = eular_f(f,1,2,0.05,20);
[x2,y2] = eular_modified(f,1,2,0.05,20);
%Plot
plot(xe,ye,’k-’,x1,y1,’k-.’,x2,y2,’k:’)
xlabel(‘x’)
ylabel(‘y’)
legend(‘Analytical’,’Forward’,’Modified’)
axis([1 2 1 1])
%Estimate errors
error1 = [‘Forward
error.’
num2 str-100*(ye(end)-y1(end)/ye(end) ’%’)];
error2 = [‘Modified
error.’
num2 strl-100*lye(end)-yz(end)/ye(end) ’%’];
error = {error1,error2};
text(0.04,1.06,error)
结果显示?plot(xe,ye,’k-’,x1,y1,’k-.’,x2,y2,’k:’)
|
Error:Missing variable or function.
请问哪儿出错了,该怎么修改啊?
1/函数参数并不对应,函数内部的变量名与参数名不一致,看xinit与xinit,yinit与yinit
2/函数表达式有点小问题,g = @(x) (log(x)+1)/x;乘除的时候,是向量的话就应该换成点乘除
其他没有了
2/函数表达式有点小问题,g = @(x) (log(x)+1)/x;乘除的时候,是向量的话就应该换成点乘除
其他没有了
matlab中编写程序 f(x)=0.5x,x
编写matlab 程序对f(x,y)求值
matlab 这是一个画全维观测器的程序,错误提示为 应该怎么改啊?function dx=ax3(t,x)d
matlab 编写程序计算f(x)=x>0,x^3+5;x
matlab中如何用function建立一个y=f(x)函数?直接function y=f(x) y=x.^2+3*x+
MATLAB求最值比如函数方程f(x,y)=100,怎么利用MATLAB程序求得当x为多少时y取得最值.小弟刚学MATL
MATLAB中function f=fun(x,y),“f=”代表什么意义啊?
f(x)=x^[(n+1)/2]*esp^(-x/2)的牛顿迭代法MATLAB程序
请帮忙编写一个matlab计算程序,拟合二元一次函数z=f(x,y)
matlab程序:[X,Y] = meshgrid(-8:.5:8); R = sqrt(X.^2 + Y.^2) +
y=sin(x)和y=cos(x)的和matlab程序
t=x/(x+y),f(t)+f(1-t)=1,能否用matlab画出函数f的图像,如果能,求程序