作业帮 > 综合 > 作业

matlab函数调用问题,一个矩阵的自变量,怎么都是同一个答案

来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/04/28 00:47:22
matlab函数调用问题,一个矩阵的自变量,怎么都是同一个答案
function [ E ] = pickfirst(m,n )
k=2:n-1;
E=(m-1)/(n*m-(n-1))*sum(24*k+3)+m/(n*m-(n-1))*(24*n+3);
end%这是原函数
m=1:50;n=1:50;
[M,N]=meshgrid(m,n)
E=pickfist(M,N)
Columns 1 through 10
0.5400 0.5400 0.5400 0.5400 0.5400 0.5400 0.5400 0.5400 0.5400 0.5400
0.5400 0.5400 0.5400 0.5400 0.5400 0.5400 0.5400 0.5400 0.5400 0.5400
0.5400 0.5400 0.5400 0.5400 0.5400 0.5400 0.5400 0.5400 0.5400
matlab函数调用问题,一个矩阵的自变量,怎么都是同一个答案
好像有点问题呀,你传递进去的参数N是一个50x50的matrix,但是呢,pickfirst function 里面, k=2:N-1, 那是什么.
再问: k=2:N-1本意是想构造一个向量,函数是放在m文件里的,不知道是否有问题。刚才缩小了范围之后,提示了新的错误Error in pickfirst (line 4)E=(m-1)/(n*m-(n-1))*sum(24*k+3)+m/(n*m-(n-1))*(24*n+3);整个函数是希望能帮忙看一下这个函数应该怎么改,多谢

再答: 如果k = 2:n-1是想构造一个向量,那首先是参数传递错了,也就是说你的N不应该是一个矩阵,而应该是一个数。比如说当n=5,那k=2:(5-1)就是向量k = [2 3 4]。我不知道你的函数是想要什么样的功能呀?
再问: 是为了用mesh作出函数值关于m,n的三维图像,应该是用矩阵的没错吧
再答: “是为了用mesh作出函数值关于m,n的三维图像,应该是用矩阵的没错吧”-------没错。

但是你要是还想把是一个矩阵的n当作pickfirst的参数,就错了。

你把你想要的功能说说看,我再写一个
再问:   哦 好
  已知函数t=(m-1)/(n*m-(n-1))*(从2到n-1累加(27+24(n-1)))+m/(m*n-(n-1))*(27+24(n-1))
要做出m,n关于t的三维图像,m,n都是正整数
再答: clc, clear, close all

m = 1:50;
n = 1:50;

[M,N] = meshgrid(m,n);
t = (M-1) ./ (N .*M - (N-1)) ...,
.* (sum(n(1:1,2:(length(n)-1))) * (27+24 *(N-1))) ...,
+ M ./ (M .* N - (N-1));

figure, mesh(M,N,t);

你检查一下我的t那里第二行写的对不对呀,我有点儿没看懂(从2到n-1累加(27+24(n-1)))这个括号,意思是sum乘以(27+24(n-1))吗?反正你就随便一试