matlab
sunchaooc
学习一种习惯
展开
-
Matlab学习笔记:并行计算函数和GA()函数
Matlab支持多核并行计算在R2007b版本中,启动语句是 matlabpool local 2在并行计算中,要用parfor代替原来的for循环。这里运行testParallel函数,已经开辟了2个labs,为了进行多核并行运算,testParallel中,要用parfor代替原来的for循环。在运行这个时,观察windows任务管理器,可以发现一共有3个MATLAB.exe进程。其中一个占内存较多的,应该是主控的,他基本不干活,只负责分配,进行计算时他的cpu占用率只有1~2%,剩下两个进原创 2021-10-24 19:42:45 · 6574 阅读 · 0 评论 -
COMSOL与MATLAB联合仿真6:绘制绘图组的图形,并提取其中的数据
COMSOL与MATLAB联合仿真的思路与COMSOL的仿真思路一脉相承。先几何模型、物理场、材料、网格,然后计算,最后进行后处理(数据分析)。本文涉及的是后处理的一部分内容。提取绘图组的图形和其中的数据。运行“计算”步骤的代码,COMSOL的所有计算数据都可以提取调用了。model.sol('sol1').run;在maltab中语言添加绘图组或者在COMSOL用鼠标添加绘图组后,调用下面代码,可以提取其中的图像%绘制 comsol的绘图组1 figure(1); mphpl原创 2021-09-19 14:57:31 · 8724 阅读 · 2 评论 -
Matlab常用函数2:vpa,roundn
vpa(),roundn()这两个函数的功能都是将数据按照想要的位数进行格式化输出我计算的时候需要进行小数位数的截取,两个函数都满足我的要求,具体用法见下面代码:vpa()%vpa函数rn = 7.82134rn = vpa(rn,4);; %输出是*7.821*,保留三位小数roundn()%roundn函数rn = 7.82134rn = roundn(rn,-3); %输出是7.8210,保留三位小数主要区别:vpa输出的sym型变量,不是double型。round原创 2021-09-19 14:39:15 · 3089 阅读 · 0 评论 -
Matlab常用函数1:numel,unifrnd,repmat
matlab有很多好用的函数,系统学习花很大精力,但是效果并不好。随时用,随时总结,应该是个不错的学习方法。1,numelnumel函数功能:元素总数。%该语句返回数组中元素的总数。 n=numel(A)拓展同类型的两个函数 size,lengthsize函数功能:获取数组的行数和列数%该语句返回数组中的行数和列数。 [r,c]=size(A)length函数功能:数组长度(即行数或列数中的较大值)%该语句返回行向量的长荡湖(列数)。 n=length(A)2,原创 2021-09-08 21:00:21 · 3834 阅读 · 0 评论 -
COMSOL与MATLAB联合仿真5:错误提示:Java exception occurred
开始学习联合仿真的时候,出现错误,就会弹出一长串的提示,包含Java的语句,看着头疼,其实并没有什么难的,大部分错误都能在度娘上找到解决方法。3,错误提示:Java exception occurred。调用comsol出现的错误,发现matlab虽然没有关闭,但是server已经关闭(黑色提示框)。解决方法,关闭matlab,重新启动comsol with matlab。...原创 2021-09-06 07:25:46 · 5273 阅读 · 6 评论 -
COMSOL与MATLAB联合仿真4:计算过程中,出现内存不足的错误
开始学习联合仿真的时候,出现错误,就会弹出一长串的提示,包含Java的语句,看着头疼,其实并没有什么难的,大部分错误都能在度娘上找到解决方法。1,计算过程中,出现内存不足的错误。可能是comsol server占用了很多的内存,检查发现确实这次计算的模型占用了接近30G的内存,造成错误。解决方法:重新设计模型,减小网格数量;更换新的服务器。完...原创 2021-09-06 07:24:17 · 3057 阅读 · 0 评论 -
COMSOL与MATLAB联合仿真2:提示错误,参数/变量名称重复
1.参数/变量名称重复排查 全局变量定义是否存在重复变量s2,删除掉问题就解决了原创 2021-08-20 15:42:36 · 1770 阅读 · 0 评论 -
COMSOL与MATLAB联合仿真3:Comosl模型m文件里的一些语法解释
Comsol有很丰富的案例和操作文档。如果有时间研究,会受益匪浅。我的文章是自己在使用时总结的,方便自己以后查找。如果写的有不妥的地方,请指正。m文件里的一些语法解释用matlab打开comsol的m文件。会有整齐的代码块,每块的功能对应comsol里面的几何、材料、物理场、计算设置、结果等部分。我用列表简单展示出来,其实里面的代码块,有的还是很长的,越复杂的模型,代码块越长,需要慢慢读。代码说明:model表示整个算例文件,算是最高级的父类。model.modePath表示算例文件的存放地原创 2021-09-06 07:19:30 · 6117 阅读 · 3 评论 -
Matlab:i 和j其实是MATLAB内置函数(built-in function)
i 和j都是MATLAB内置函数(built-in function)在上面的例子,我在for循环里面的循环变量用的ii,而不是常用的i,这是为什么呢?因为在MATLAB中,i是一个内置函数,代表的是虚数单位(j也是),用于输入复数。% 确保当前工作区没有i,j变量clear i ji == j% ans = 1当然可以将i和j重载成变量,但是重载内置函数不是一个好的编程习惯,同时也会带来运行速度上的降低。而且,一旦程序中涉及输入复数,就可能会出现错误。% 下面的代码中,想实现的是复数1+2i原创 2021-09-05 08:33:59 · 6184 阅读 · 0 评论 -
Matlab操作2: 调整figure图形各区域的字体大小(操作集合)
写一点最近调整图形不同区域字体大小时的心得。图形中的字体,各个区域的名称要清楚,然后再找对应的语句控制字体的大小。% 图形可以调整文字大小的地方、坐标轴刻度字号、坐标轴标注、图例、标题等。% 设置文字大小,同时影响坐标轴标注、图例、标题等。set(gca,'FontSize',14); % 调整坐标轴刻度字号大小set(gca,'fontsize',8);%'linewidth',4,,'fontname','Times'% 坐标轴标注,X,Y坐标轴显示的文字、位置、大小。pos=axi原创 2021-09-02 17:56:31 · 7225 阅读 · 0 评论 -
Matlab操作1: 用tight_subplot函数绘制组图(可直接做论文用图)
matlab处理数据,生成图形,是日常操作。绘图的常用函数有plot,subplot等。其中subplot可以很方便的将多个图形绘制到一起。如下面示例。close alli = 1:20;subplot(2,2,1);plot(i,rand(1,20));subplot(2,2,2);plot(i(1:5),rand(1,5));subplot(2,2,3);plot(i(1:15),rand(1,15));subplot(2,2,4);plot(i(1:10),rand(1,10)原创 2021-09-02 17:54:36 · 7393 阅读 · 3 评论 -
Matlab GUI操作3:在GUI界面绘制双Y轴曲线
在matlab GUI中,绘制双Y轴曲线,没有什么特别要设置的地方,与matlab中操作基本一样。原创 2021-08-30 17:23:09 · 2119 阅读 · 1 评论 -
Matlab GUI操作4:界面中多个text控件对齐操作(工整美观)
以前一直觉得matlab GUI很鸡肋,主要是最后界面美化的时候,感觉控件对齐很麻烦,鼠标拖动不好用,对齐的话需要不停的用“对齐对象”,总之,觉得很麻烦。今年帮别人用matlab GUI做了一个界面,对GUI有了新的认识,其实让多个控件对齐,让界面美观工整,并不是很繁琐的事情,有一定技巧在里面,下面我通过一个例子来说明。...原创 2021-08-30 10:59:12 · 5492 阅读 · 0 评论 -
Matlab GUI操作5:多个窗口之间切换
这个操作比较简单,用对语句即可。实例如下原创 2021-08-30 01:35:00 · 6699 阅读 · 1 评论 -
COMSOL与MATLAB联合仿真1:COMSOL生成m文件的操作
Comsol有很丰富的案例和操作文档。如果有时间研究,会受益匪浅。我的文章是自己在使用时总结的,方便自己以后查找。如果写的有不妥的地方,请指正。1.生成m文件的方法2.m文件里的一些语法解释原创 2021-08-20 11:18:27 · 5695 阅读 · 1 评论 -
Matlab GUI操作2:在一个axes控件中同时绘制显示多条曲线
在matlab gui中将多条曲线绘制到同一axes中,操作与将多条曲线绘制到同一fig有所不同。需要修改代码执行顺序。如下面代码片段,写在按钮“绘制曲线”的Callback函数里面,执行结果如下图,axes(handles.axes1);x = 0:0.1:3;y = cos(x);y1 = sin(x);box on;hold on;plot(x,y);plot(x,y1);grid on;从代码可以看出,在axes绘制了两条曲线,但是没有显示坐标轴和网格线,感觉有语句没有被执原创 2021-08-27 06:38:46 · 5128 阅读 · 0 评论 -
MATLAB常用的一些操作
我的文章是为了给自己留记录,免得重复问度娘找帖子,提高自己的工作效率。代码段可以直接拷贝运行。1,设置空矩阵并向其添加数据 matlab码片PFL = [];i=1;PFL = [PFL,i];disp(PFL);2, 从excel中读取数据 matlab码片。% 读取同文件夹下excel文件sheet2中所有数据xls = xlsread('计算结果',2);disp(xls);3,去掉向量中的重复值 matlab码片。PFL =[3100 3100 3100 4900];P原创 2021-08-22 11:36:05 · 1358 阅读 · 0 评论