举个例子,希望有所帮助。 代码 clc; clear all; close all; % 载入xls文件 [num, txt, row] = xlsread('c:\\test\\testxls'); apple = num(:, 1); % apple列数据 numlimt = 3; % 阈值 ind = find(apple > numlimt); % 寻找所在的行 num(ind, :) % 显示 结果 ans = 4 3 4 5 4 2 >>
你给出的是C语言程序吧,matlab也是一样的,只不过数组的编号是从1开始的,而且语法有些不同。
t(1)=0
s(1)=0
B(1)=0
for n=2:160
x(n)=z600028;
t(n)=x(n)2/13+t(n-1)11/13
s(n)=x(n)2/27+s(n-1)25/27
A(n)=t(n)-s(n)
B(n)=A(n)2/10+B(n-1)8/10
end
可以使用两层for循环控制命令来创建矩阵A,具体实现如下:
matlab
% 初始化矩阵A为全零矩阵
A = zeros(5, 6);
% 使用for循环控制命令,遍历矩阵的每个元素,并计算其值
for i = 1:5
for j = 1:6
A(i, j) = 1 / (i + j - 1);
end
end
% 输出矩阵A的值
disp(A)
运行以上代码,就可以创建矩阵A并输出其值。
判断矩阵一致性检验的Matlab源程序代码
Matlab源程序代码如下:
clc
clear
disp('请输入判断矩阵A')
A=input('A=');
[n,n] = size(A)
%方法1: 算术平均法
Sum_A = sum(A);
SUM_A = repmat(Sum_A,n,1);
Stand_A = A / SUM_A;
Stand_A = A / Sum_A; % 这样也可以的
disp('算术平均法求权重的结果为:');
disp(sum(Stand_A,2)/n)
%方法2: 几何平均法
Prduct_A = prod(A,2);
Prduct_n_A = Prduct_A ^ (1/n);
disp('几何平均法求权重的结果为:');
disp(Prduct_n_A / sum(Prduct_n_A))
%方法3: 特征值法求权重
[V,D] = eig(A);
Max_eig = max(max(D))
[r,c]=find(D == Max_eig , 1);
disp('特征值法求权重的结果为:');
disp( V(:,c) / sum(V(:,c)) )
%计算一致性比例CR
CI = (Max_eig - n)/(n-1);
RI=[0 00001 052 089 112 126 136 141 146 149 152 154 156 158
159];
% 这里n=2时,一定是一致矩阵,所以CI = 0,为了避免分母为0,将这里的第二个元素改为了很接近0的正数
CR=CI/RI(n);
disp('一致性指标CI=');disp(CI);
disp('一致性比例CR=');disp(CR);
if CR<010
disp('因为CR<010,所以该判断矩阵A的一致性可以接受!');
else
disp('注意:CR >=
010,因此该判断矩阵A需要进行修改!');
end
function
linear_fit %最小二乘法拟合直线
clear;
clc;
prompt={'Name
of data file'};
title='Linear_fit';
lineNo=2;
def={'Linearfitdat'};
outval=inputdlg(prompt,title,lineNo,def);
if
isempty(outval)==1,return,end
filename=outval{1};
data=load(filename);
x=data(:,1);
y=data(:,2);
[a,b]=linearfit(x,y);
yy=a+bx;
func=['y=',num2str(a),'+',num2str(b),'x'];
plot(x,y,'bx','markersize',10);
hold on
plot(x,yy,'r-','linewidth',15)
xlabel('t(\year)');
ylabel('S(\mm)');
text(x(2),yy(length(yy)-1),func)
function
[a,b]=linearfit(x,y)
xy=xy;
x2=x^2;
x_mean=mean(x);
y_mean=mean(y);
xy_mean=mean(xy);
x2_mean=mean(x2);
b=(xy_mean-x_meany_mean)/(x2_mean-x_mean^2);
a=y_mean-bx_mean;
return
[N,M]=size(A);
a = 0;
for n = 1:N
for m = 1:M
a = a + A(n,m);
end
end
例如:
function proj3
a=input('input the min')
b=input('input the max')
n=input('input the number:')
h=(b-a)/n
i=1;
x=a+h;
y=x^2h;
for i=1:n-1
x=x+h;
y=x^2h+y;
i=i+1;
end
i %没有分号
x %没有分号
y %没有分号
%循环程序中的赋值语句和之前的赋值语句最后要有分号,有了分号就不会输出值了,如果想最后输出哪个值,就在最后把变量名写上就可以了,记住这回不要分号了。
扩展资料:
MATLAB包括拥有数百个内部函数的主包和三十几种工具包。工具包又可以分为功能性工具包和学科工具包。功能工具包用来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能。学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类。
开放性使MATLAB广受用户欢迎。除内部函数外,所有MATLAB主包文件和各种工具包都是可读可修改的文件,用户通过对源程序的修改或加入自己编写程序构造新的专用工具包。
参考资料来源:百度百科-MATLAB
以上就是关于matlab怎么编写目标函数的程序全部的内容,包括:matlab怎么编写目标函数的程序、如何用matlab编写函数程序、matlab 中,用循环控制命令编写程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)