几何建模
基础命令 模型对象(model object)命令
mphstart:Matlab中启动Comsol Server
model = ModelUtil.create ('Model'):在COMSOL服务器中创建一个新的模型对象,并创建链接到模型对象的MATLAB对象模型。
model = ModelUtil.model ('Model'):创建链接到现有模型对象的MATLAB变量。
model = mphopen(<filename>):命令行加载已有的mph模型文件。
mphgeom(model) :在 MATLAB 图像窗口中显示当前对象的几何
mphcd (model)
mphdoc 返回帮助档
mphload 加载一个mph文件
mphsave 保存模型文件
mphversion 返回COMSOL版本号
mphgeom 画几何
获得现在所打开文件的路径 ,输出字符串
例:root1 = mfilename('fullpath')
findstr 找到字符串中某个字符的命令,输出向量
例:i=findstr(root1,'\')
路径命名
可以把字符串组合起来,形成新的字符串,赋给某一个名称。如:
Sampling_point_path=[root1,'Data\Sampling_point.txt'];(root1='C:\Users\联想\Desktop\comsol练习\Eigenfunction_output\band\')得到:
Sampling_point_path =
'C:\Users\联想\Desktop\comsol练习\Eigenfunction_output\band\Data\Sampling_point.txt'
数据导入
w=load('xx.txt') 文件名导入
load('D:\迅雷下载\x.mat') 按路径导入
csvread读取cvs文件
u_eigenfunction=csvread(['Data\triangle_u_n900_',Index,'.csv'],0,0);除了文件名,还指定了开始读取位置的行号(row)和列号(col)。这里,行号、列号以0开始计数。也就是说,row=0, col=0表示从文件中第一个数开始读。
处理nan
isnan 函数,判断元素是否为nan,矩阵输出矩阵
例:
rrr=[1,2,3;2,nan,nan;nan,nan,4]
rrr =
1 2 3
2 NaN NaN
NaN NaN 4
r=isnan(rrr)
r =
3×3 logical 数组
0 0 0
0 1 1
1 1 0
r=r'
r =
3×3 logical 数组
0 0 1
0 1 1
0 1 0
any函数 判断元素是否为0,矩阵按列判断,输出行向量
r=any(r)
r =
1×3 logical 数组
0 1 1
rrr(r,:)=[]
rrr =
1 2 3
上面这一大堆,写成一句就是 rrr(any(isnan(rrr)'),:)=[]
rrr =
1 2 3
效果 或者说作用就是 把含有nan的行都给去掉了
imagesc函数 矩阵画图
例:imagesc([1,2,3,4],[1,2,3,4],[0,1,1,0;1,1,0,0;0,0,0,1;0,1,1,1])
基础命令 模型对象(model object)命令
mphstart:Matlab中启动Comsol Server
model = ModelUtil.create ('Model'):在COMSOL服务器中创建一个新的模型对象,并创建链接到模型对象的MATLAB对象模型。
model = ModelUtil.model ('Model'):创建链接到现有模型对象的MATLAB变量。
model = mphopen(<filename>):命令行加载已有的mph模型文件。
mphgeom(model) :在 MATLAB 图像窗口中显示当前对象的几何
mphcd (model)
mphdoc 返回帮助档
mphload 加载一个mph文件
mphsave 保存模型文件
mphversion 返回COMSOL版本号
mphgeom 画几何
获得现在所打开文件的路径 ,输出字符串
例:root1 = mfilename('fullpath')
findstr 找到字符串中某个字符的命令,输出向量
例:i=findstr(root1,'\')
路径命名
可以把字符串组合起来,形成新的字符串,赋给某一个名称。如:
Sampling_point_path=[root1,'Data\Sampling_point.txt'];(root1='C:\Users\联想\Desktop\comsol练习\Eigenfunction_output\band\')得到:
Sampling_point_path =
'C:\Users\联想\Desktop\comsol练习\Eigenfunction_output\band\Data\Sampling_point.txt'
数据导入
w=load('xx.txt') 文件名导入
load('D:\迅雷下载\x.mat') 按路径导入
csvread读取cvs文件
u_eigenfunction=csvread(['Data\triangle_u_n900_',Index,'.csv'],0,0);除了文件名,还指定了开始读取位置的行号(row)和列号(col)。这里,行号、列号以0开始计数。也就是说,row=0, col=0表示从文件中第一个数开始读。
处理nan
isnan 函数,判断元素是否为nan,矩阵输出矩阵
例:
rrr=[1,2,3;2,nan,nan;nan,nan,4]
rrr =
1 2 3
2 NaN NaN
NaN NaN 4
r=isnan(rrr)
r =
3×3 logical 数组
0 0 0
0 1 1
1 1 0
r=r'
r =
3×3 logical 数组
0 0 1
0 1 1
0 1 0
any函数 判断元素是否为0,矩阵按列判断,输出行向量
r=any(r)
r =
1×3 logical 数组
0 1 1
rrr(r,:)=[]
rrr =
1 2 3
上面这一大堆,写成一句就是 rrr(any(isnan(rrr)'),:)=[]
rrr =
1 2 3
效果 或者说作用就是 把含有nan的行都给去掉了
imagesc函数 矩阵画图
例:imagesc([1,2,3,4],[1,2,3,4],[0,1,1,0;1,1,0,0;0,0,0,1;0,1,1,1])