MATLAB定义M函数输入参数的问题

例如我定义了f=fun(b0,b1,b2),但是在输出函数值f的时候,表达式里面有a,(例如a*b0+b1)a是工作空间中矩阵A的一个列向量,我希望把a作为一个常数,在函数中参与运算,怎么实现?能否不用在函数定义时输入参数a,即避免f=fun(a,b0,b1,b2)?

形参可以没有a,但在函数里须要说明a的定义。如下
function f=func(b0,b1,b2)
a=[1;3;4];
f=a*b0+b1追问

那如果a是由矩阵A取某一列得来的呢?(矩阵A已经在工作空间中存在了)是不是要再函数中再次定义矩阵A,然后在函数中声明a=A(,1)这样?

追答

最好是定义,因为A虽然在工作空间,但我们使用matlab时,经常用clear命令清空工作空间里的变量,所以在函数里也最好重新定义

温馨提示:内容为网友见解,仅供参考
无其他回答

MATLAB中m函数文件输入参数问题
1、m函数输入参数是程序必须的,设置、选用须充分考虑程序需要,尽量以最少的输入参数,解决问题。2、对已写好的m文件,不改程序的话,输入参数必须与文件要求相符,变量类型一致。3、输入方式有几种:a先定义输入参数,再调用函数,如 x=5;b=magic(x);b直接在调用函数语句中定义,如 b=magic(5)...

MATLAB定义M函数输入参数的问题
a=[1;3;4];f=a*b0+b1

matlab中什么是“输入参数不足”现象?
就是当运行函数的时候,没有提供足够的参数。比如,如果需要计算一个数(x)的正弦值,那么,如果不给定x的话,是没有办法得到一个确切的数值的。也就是说,当在命令行中输入sin()的时候,是不会有正确结果的。这就是作为的输入参数不足。matlab中的.m文件实际上氛围两种,一种叫做脚本(script)...

新学MATLAB,输入参数的数目不足是什么意思?
输入参数不足,从字面上来讲,就是当运行函数的时候,没有提供足够的参数。这不仅计算机的世界里面,在数学的世界绵绵也是同理。就比如,我如果需要计算一个数(x)的正弦值,那么,如果不给定x的话,是没有办法得到一个确切的数值的。也就是说,当你在命令行中输入sin()的时候,是不会有正确结果...

matlab:建立一个函数M文件,判断输入变量是否为0.求大神支招
正常的语言一般都是循环语句for加if判断语句的 a=[-6 0 6];flag=zeros(1,3);for i=1:3 if a(i)==0,flag(i)=1;end end 不过matlab这方面比较简单,比较自由 >> [-6 0 6]==0 ans = 0 1 0 这样就OK matlab 的优势就在于矩阵,向量的运算非常方便(包括逻辑运算,数值运算),但...

怎么用MATLAB的m函数建立一个能随意输入函数的函数
函数作为参数可以直接调用,例如一个接受函数作为参数的函数如下function c=myfun2(x,y,model)c=model(x,y);在console里输入: myfun2(3,2,inline('x+y'))ans = 5

MATLAB中编写M文件,输入参数为n,计算y=1+3+5+…+(2n-1)的值;
clc clear n=input('输入n值:');y=0;for i=1:2:(2*n)-1 y=y+i;end fprintf('结果:%d',y);

使用matlab编写一个函数,如何在函数执行时,提示用户输入一些计算基本参 ...
我的m文件中定义了一个函数(function),将A=input('Enter the A:');B=input('Enter the B:');放入m文件开始后,函数定义就失效了啊!? 追答 你如果单独把A=input('Enter the A:');B=input('Enter the B:');放入M文件中,肯定没问题的,2者有冲突,或者是那个函数有问题,具体我不知道,不知怎么帮你 ...

matlab中,怎样用function定义带参数的方程? 比如 function y=myfun...
个.m文件里。举个简单的例子建立一个myfunction.m,然后在文件中写。function y=myfunction(a,b)其中a,b是输入函数的参数,y是函数返回的值。当需要返回多个值时,可以将y看作一个数组,或者直接将函数的开头写成如function [x,y]=myfunction(x,y)的形式。然后就是定义函数的内容,通俗的说就是...

matlab中用惩罚函数编写的m文怎么运行时出现输入参数的数目不足
function C=ji(A,B)[M N]=size(A);[m n]=size(B);if N~=m error('前者列数与后者行数不同,无法相乘!');else for p=1:M for q=1:n for t=1:N D(p,q,t)=A(p,t)*B(t,q);end C(p,q)=sum(D(p,q,:));end end end ...

相似回答