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
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))吗?反正你就随便一试