请求matlab大神编辑程序编写函数,得到两个矩阵a

2020-11-26 05:45:15 字数 4353 阅读 2810

1楼:匿名用户

函数文件matmult_20150101.mfunctionmatrixproduct=matmult_20150101(a,b)

[m,n]=size(a);

[x,y]=size(b);

if(n~=x)

disp(['矩阵维度不匹配'])

return

endmatrixproduct=zeros(m,y);

fori=1:m

forj=1:y

fork=1:n

matrixproduct(i,j)=matrixproduct(i,j)+a(i,k)*b(k,j);

endend

end调用示例

>>a=[123;456];

>>b=[1111;2345];

>>c=[1111;2345;3456];

>>matmult_20150101(a,b)矩阵维度不匹配

>>matmult_20150101(a,c)ans=

14192429

32435465

>>a*c%直接计算

ans=

14192429

32435465

matlab编程:给定矩阵a和b,请写一函数计算两矩阵的乘积,a和b作为该函数的输入参数,要求要判断两个矩阵是

2楼:匿名用户

第一楼的程序错误,没有提示输入a,b矩阵!

我把程序修改后完全能实现,运行时提示输入a,b矩阵,且能得结果!

程序源码如下:

function c=bicu(a,b)

a=input('a matrix=') ;

b=input('b matrix=');

[m1,n1]=size(a);

[m2,n2]=size(b);

if n1==m2

c=zeros(m1,n2);

for i=1:m1

for j=1:n2

for k=1:n1

d=a(i,k)*b(k,j);

c(i,j)=c(i,j)+d;

endend

endelse disp(['matrix a and b could not be multiplied']);

end保存为bicu.m后即可运行!

希望能对你有帮助!

3楼:匿名用户

function c=bicu(a,b)

[m1,n1]=size(a);

[m2,n2]=size(b);

if n1==m2

c=zeros(m1,n2);

for i=1:m1

for j=1:n2

for k=1:n1

d=a(i,k)*b(k,j);

c(i,j)=c(i,j)+d;

endend

endelse disp(['matrix a and b could not be multiplied']);end

4楼:匿名用户

size_a = size(a);

size_b = size(b);

if (size_a(2) == size_b(1))disp(['matrix a and b could be multiplied']);

else

disp(['matrix a and b could not be multiplied']);end

matlab编写m文件求两矩阵的乘法 有问题 请高手指点

5楼:匿名用户

很高兴为您解答这个问题,matlab中两个矩阵是可以直接相乘的,比如c=a*b。

如果要自己编程来实现,可以这样做。

function [c]=mutiply_matrix(a,b)[m1,n1]=size(a);

[m2,n2]=size(b);

if(n1~=m2)

c=;return c;

endc=zeros(m1,n2);

for i=1:m1

for j=1:n2

for k=1:n1

c(i,j)+=a(i,k)*b(k,j);

endend

endreturn c;

end希望可以帮助你,祝学习进步!

6楼:时砂之王的

matlab中不是可以直接进行矩阵计算

用matlab编程:使用for函数编写一个程序实现sum(a)的功能,其中a为矩阵。急求???

7楼:尼克

fuction b=sumf(a)

%说明部分

b=zeros(n,1);

for n=1:n

for m=1:m

b(n)=b(n)+a(n,m);

endend

手边没电脑第四行不知道会不会有错

8楼:匿名用户

[n,m]=size(a);

a = 0;

for n = 1:n

for m = 1:m

a = a + a(n,m);

endend

matlab编写m函数文件,要求具有两个输入变量:a和n,对于输入矩阵a,找出a中大于或等于n的元素值并显示

9楼:匿名用户

假设函数名为fun(可以自己改)

新建一个m文件,保存一下内容:

function x=fun(a,n)

x=a(:);

id=find(a>> a=[1 2 1 3;4 3 4 3;3 2 3 4];n=2;

>> x=fun(a,n)

扩展资料:fix(x):无论正负,舍去小数至相邻整数。

floor(x):下取整,即舍去正小数至相邻整数。

ceil(x):上取整,即加入正小数至相邻整数。

rat(x):将实数x化为多项分数。

rats(x):将实数x化为分数表示。

sign(x):符号函数(signum function)。

当x<0时,sign(x)=-1。

当x=0时,sign(x)=0。

当x>0时,sign(x)=1。

rem(x,y):求x除以y的余数。

***(x,y):整数x和y的最大公因数。

lcm(x,y):整数x和y的最小公倍数。

exp(x) :自然指数。

pow2(x):2的指数。

10楼:匿名用户

clear,clc

a=input('输入矩阵a=');

n=input('n=');

j=1;

for i=1:length(a)

if a(i)>n

b(j)=a(i)

j=j+1;

endend

matlab!编写一个函数m文件,要求有函数说明行,声明行等。能够实现2个数相乘和相加,并能带回运算结果。

11楼:f龙吟决

functionanswer=addplu(a,b,type)iftype=='+'

answer=a+b;

return;

endiftype=='-'

answer=a-b;

return;

endend

%说明自己加吧,你还可以加进去乘除呢

求两个函数的乘积的程序用matlab写的

12楼:

不明白你的想法,说清楚点下次,最好附个例子,有助于解。。。

你的,我大胆猜猜了,应该是

比如x=1:100;%向量

y=sin(x).*cos(x);%这个要加点而x=2;%数值

y=sin(x)*cos(x);%这个不要加点就这样了....

matlab解答:1。使用for函数编写一个程序实现sun(a)的功能,其中a为矩阵 20

13楼:匿名用户

这个不用验证了,很多人做过验证,包括我。肯定是向量化的矩阵计算远远优于循环计算。

14楼:匿名用户

sun?什么东西?日函数?