导航:首页 > 编程语言 > 如何用matlab编程

如何用matlab编程

发布时间:2022-10-30 01:32:46

㈠ matlab怎么用

判断矩阵一致性检验的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: 几何平均法
Prct_A = prod(A,2);
Prct_n_A = Prct_A .^ (1/n);
disp('几何平均法求权重的结果为:');
disp(Prct_n_A ./ sum(Prct_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 0.0001 0.52 0.89 1.12 1.26 1.36 1.41 1.46 1.49 1.52 1.54 1.56 1.58
1.59];
% 这里n=2时,一定是一致矩阵,所以CI = 0,为了避免分母为0,将这里的第二个元素改为了很接近0的正数
CR=CI/RI(n);
disp('一致性指标CI=');disp(CI);
disp('一致性比例CR=');disp(CR);
if CR<0.10
disp('因为CR<0.10,所以该判断矩阵A的一致性可以接受!');
else
disp('注意:CR >=
0.10,因此该判断矩阵A需要进行修改!');
end

㈡ matlab编程入门需要怎么做

入门需要做下面几个方面事:

1、M语言编程。这是所有Matlab操作的基础,Matlab的所有功能都是通过M语言来实现的。M语言是一种简单的脚本语言,学习M语言,要学会基本的语句,还要能够掌握基本的文件IO,GUI开发,数据导入,矩阵操作等等。

2、科学计算。科学计算是matlab最为强大的功能之一,这一部分的学习实质上是对大学数学的一个复习。你得复习微分方程的建立,积分求导的法则,线性代数的基本理论。复习完这些知识,再来进行各种计算。

3、机器学习。Matlab内置了丰富的机器学习库最新版的matlab甚至支持深度学习以及GPU运算,只需要一些简单的M语言编程就能快速搭建起来一个网络。

4、模拟仿真。能够进行模拟仿真也是Matlab的一大特色功能,在科学领域,小到原子运行,大到宇宙爆炸,没有他不能胜任的;在工程领域,电磁场模拟,机械结构评估,水利电力仿真,Matlab几乎无所不能。

注意事项:

1、我们必须下载好一个matlab版本,一般来说新版的话,它的内置命令函数简化,操作容易上手快,对基础知识的储备也不是很多。

2、这款软件需要一定的数学知识,最为重要的是懂些矩阵和线性代数的知识,为了更好的更直观地表达数据的可视化。

3、后面我们自己可以找一本有关matlab的书籍教材,网上资料很多,找一本然后按照上面的例子上手matlab。

4、最后,我们再根据具体的工程、项目的需求来验证我们的matlab知识。

㈢ Matlab编程

60个同学抽60个题目且题号各不相同,用matlab实现,需要使用matlab的randperm函数,代码如下:

截图效果2

tihao=randperm(60);xuehao=1:60;for i=xuehao;disp(sprintf('学号为%d的同学,恭喜你,抽中第%d题 ',i,tihao(i)));end;

㈣ matlab如何编程

㈤ 用matlab可以学到的编程技巧

1、入门——学会数学(矩阵)方面的有关操作,及其各类常见函数的应用。 2、再次入门——学会用matlab面向对象语言的编程方法技巧。 3、略窥门径——由于matlab仅仅是一个工具软件,所谓的傻瓜语言,所以它仅仅是一个辅助性的东西,不是为了学习matlab而学习matlab,我们最重要的还是让他来为我们服务,应该根据自己的现阶段具体应用领域或者以后的领域具体而定,matlab提供很多工具箱(信号处理、控制、语音等等),定位好自己,事半功倍。 4、自己摸索——matlab不像C语言,它很散,应该自己在工作学习中记下使用的函数/技巧/程序,向高手方向进发。

㈥ 问一下大神matlab应该怎么编程

不需要用循环,直接使用逻辑数组运算更快。

我假设你的x和x(1)--x(n)是不同的变量,那么我用a来表示你的x,用x数组代表你的x(1)--x(n)
我随便给这些数赋值

a=10;
x=1:3:30;
k=5;

temp = true(size(x));
temp(k) = false;

y = prod(a - x) / prod(x(k) - x(temp));

a-x是生成数组[a-x(1), a-x(2), ..., a-x(n)],prod()是吧这个数组相乘

temp是一个逻辑数组,和x相同大小,并且只有第k个数是false。x(temp)就是生成[x(1), x(2),..., x(k-1), x(k+1), ..., x(n)]

其他的应该容易理解

补充:拉格朗日插值多项式可也这么写:
%x0,y0是已知各点坐标,共n点
x0 = [1, 2, 3];
y0 = [1, 8, 27];
n = length(x0);

%x是要求的点
x = 4;

y = 0;
for k = 1:n
temp = true(size(x0));
temp(k) = false;
y = y + y0(k) * prod(x - x0(temp)) / prod(x0(k) - x0(temp));
end

阅读全文

与如何用matlab编程相关的资料

热点内容
车载云服务器记录 浏览:738
四川金星压缩机制造有限公司 浏览:51
移动平台图片压缩算法 浏览:33
银行项目java 浏览:568
怎样将pdf转换为ppt 浏览:595
纯净服务器怎么开服 浏览:286
比泽尔压缩机如何换油 浏览:818
编译链接如何生成exe 浏览:73
jre编译运行环境 浏览:271
怎么解压镜像系统 浏览:190
程序员求助国企 浏览:837
云服务器网址租用多少钱 浏览:942
行车记录仪安卓版怎么用 浏览:500
java是不是数字 浏览:183
php模拟浏览器环境 浏览:353
编程谁都能学会吗 浏览:407
使用国家反诈app都要开启什么 浏览:712
下载民宿APP有什么用 浏览:52
续子语pdf 浏览:385
2021年加密货币最新行情 浏览:162