ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

matlab提高计算的效率的几个方法

2022-02-08 16:33:26  阅读:178  来源: 互联网

标签:square end 计算 example ii matlab jj root 效率


1.向量化

e x a m p l e : example: example:计算 1 到100 之间的所有整数的平方,平方根,立方根。

利用向量化的方法进行计算:

ii = 1:100; 
square = ii .^2; 
square_root = ii .^ (1/2); 
cube_root(ii) = ii .^ (1/3); 

解决了for循环速度慢的问题,下面for循环的方法不提倡。

for ii = 1:100 
	square(ii) = ii ^2; 
 	square_root(ii) = ii ^ (1/2); 
 	cube_root(ii) = ii ^ (1/3); 
end 

2.逻辑数组方法

e x a m p l e : example: example:计算二维数组a中大于5的元素的平方根,然后其余的数的平方。a具体如下:

a = [1 2 3; 4 5 6; 7 8 9]; 

下面使用逻辑数组的方法只要三行,读者可自行打印b来查看一下逻辑数组b就能知道是什么含义。

b = a > 5;
a(b) = sqrt(a(b)); 
a(~b) = a(~b) .^2; 

解决了for循环和判断语句的速度慢的问题,下面for循环的方法不提倡。

for ii = 1:size(a,1) 
	for jj = 1:size(a,2) 
		if a(ii,jj) > 5 
			a(ii,jj)=sqrt(a(ii,jj)); 
		else 
 			a(ii,jj) = a(ii,jj)^2; 
 		end 
 	end 
end

笔记摘录自:

[1] S.J.Chapman《MATLAB编程》中文版

标签:square,end,计算,example,ii,matlab,jj,root,效率
来源: https://blog.csdn.net/subtitle_/article/details/122825934

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有