
菜鸟请教关于matlab定义M函数的问题
程序如下:(用LU分解法求解方程组)>>functionLU_FENJIE%用途:用LU分解法解方程组Ax=b,x为解向量,用A的单元存储L和U,A为系数矩阵,b为右端向...
程序如下:(用LU分解法求解方程组)
>> function LU_FENJIE
%用途:用LU分解法解方程组Ax=b,x为解向量,用A的单元存储L和U,A为系数矩阵,b 为右端向量,
A=[12 -3 3 4;-18 3 -1 -1;1 1 1 1;3 1;-1 1] b=[15 -15 6 2]’,forshort;
[x]=Chat4_Ex3malu(A,b)
Function[x]=Chat4_Ex3malu(A,b)
%LU 分解
n=length(b);A(2:n,1)=A(2:n,1)/A(1,1);
for k=2:n
A(k,k:n)=A(k,k:n)-A(k,1:k-1)*A(1:k-1,k:n);
A(k+1:n,k)=(A(k+1:n,k)-A(k+1:n,1:k-1)*A(1:k-1,k))/A(k,k);
end
%解下三角方程组 Ly=b
y=zeros(n,1);
y(1)=b(1);
for k=2:n
y(k)=b(k)-A(k,1:k-1)*y(1:k-1);
end
%解下三角方程组 Ux=y
x=zeros(n,1);
x(n)=y(n)/A(n,n);
for k=n-1:-1:1
x(k)=(y(k)-A(k,k+1:n)*x(k+1:n))/A(k,k);
end
最后错误是: function LU_FENJIE
|
Error: Function definitions are not permitted in this context.
请问怎么定义M函数啊,麻烦大神们说的具体点,每步怎么做。。matlab中新建new--function具体到这道题怎么定义function呢 展开
>> function LU_FENJIE
%用途:用LU分解法解方程组Ax=b,x为解向量,用A的单元存储L和U,A为系数矩阵,b 为右端向量,
A=[12 -3 3 4;-18 3 -1 -1;1 1 1 1;3 1;-1 1] b=[15 -15 6 2]’,forshort;
[x]=Chat4_Ex3malu(A,b)
Function[x]=Chat4_Ex3malu(A,b)
%LU 分解
n=length(b);A(2:n,1)=A(2:n,1)/A(1,1);
for k=2:n
A(k,k:n)=A(k,k:n)-A(k,1:k-1)*A(1:k-1,k:n);
A(k+1:n,k)=(A(k+1:n,k)-A(k+1:n,1:k-1)*A(1:k-1,k))/A(k,k);
end
%解下三角方程组 Ly=b
y=zeros(n,1);
y(1)=b(1);
for k=2:n
y(k)=b(k)-A(k,1:k-1)*y(1:k-1);
end
%解下三角方程组 Ux=y
x=zeros(n,1);
x(n)=y(n)/A(n,n);
for k=n-1:-1:1
x(k)=(y(k)-A(k,k+1:n)*x(k+1:n))/A(k,k);
end
最后错误是: function LU_FENJIE
|
Error: Function definitions are not permitted in this context.
请问怎么定义M函数啊,麻烦大神们说的具体点,每步怎么做。。matlab中新建new--function具体到这道题怎么定义function呢 展开
2个回答
展开全部
function y=lufenjie(a,b,c)
y是指输出的,可单个变量,可以是矩阵,如[A,B],AB分别可以是矩阵。
a,b,c是输入变量,同样可以是矩阵或单单一个数。
你自己根据你的要求代入去吧。。。。还有函数名用不要用‘_“,可能格式有问题。
y是指输出的,可单个变量,可以是矩阵,如[A,B],AB分别可以是矩阵。
a,b,c是输入变量,同样可以是矩阵或单单一个数。
你自己根据你的要求代入去吧。。。。还有函数名用不要用‘_“,可能格式有问题。
追问
大神,可是我运行之后还是有问题。
Error: File: LU_FENJIE.m Line: 3 Column: 44
Unexpected MATLAB expression.
请问怎么修改呢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你在新建一个函数文件,具体过程如下:
1、你打开Matlab程序,左上角File---New----Function;
2、将你上面的代码复制上去;要有输入、输出参数;
3、文件名为LU_FENJIE;
4、使用时在命令窗口输入LU_FENJIE(???);括号里面的按需要填写。
1、你打开Matlab程序,左上角File---New----Function;
2、将你上面的代码复制上去;要有输入、输出参数;
3、文件名为LU_FENJIE;
4、使用时在命令窗口输入LU_FENJIE(???);括号里面的按需要填写。
更多追问追答
追问
你好,你说的第2步将上面的代码复制上去,是全部程序复制么?应该具体从第几行到第几行啊亲?
追答
。。。
第一行是函数名,最后一行是END结束语句;
放中间就行。
你写的函数缺少输入、输出参数;
好好改改吧
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询