MATLAB图形存入word文档
在Matlab 里复制代码到word产生中文乱码的恢复方法
在Matlab 里复制代码到word产生中文乱码的恢复方法在Matlab下复制代码到word下,因西文字体缺失中文字符(尽管matlab里可以正常看到中文),其中的中文注释复制到word文件后会变成字母型乱码,如下所示:Word 界面下中文注释乱码面对这类乱码,如何解救?根据发现的时间不同,这里提供两个方法:1)复制时产生在matlab的界面是这样的:Matlab 界面复制到word后,是这样的Word 界面在复制的文字最后,有一个这样的图标:,用鼠标点击它,或者按Ctrl键,便弹出:,选择,中文便不会再乱码,如下图所示:这样虽失去了原有格式,但中文不再乱码了。
如果你不嫌麻烦,可以在乱码的基础上,对乱码一个一个手动更改,这样就不会变更格式,但太麻烦了,不是么?2)已经保存的word不小心保存了乱码文件,或者网上下载的word就包含前面所说的乱码。
在找不到原代码(m文件等)的情况下,对于word下已经形成的中文乱码,如何修复成中文?这里有一个办法:安装Ultra-Edit ANSI和简体中文,如下图所示。
(此编码是windows下matlab命令框和m文件使用的编码;若是linux 下的matlab,则是UTF-8。
这里只针对windows下的matlab。
)txt格式文件,编码选择ANSI/ASCII,然后保存它。
然后在word 将含乱码的m 文件代码复制到上图空的sample.txt (或你设定的名字),保存它,这时在Ultra-Edit 内看到的乱码和word 上看到的是一样的,表明乱码对应的编码信息没有被破坏。
这时,就可以关闭Ultra-Edit ,以windows 默认的记事本(简体中文状态或支持简体中文的条件下),看到的就不是乱码而是中文注释了。
如果要保留word 里原来含乱码的matlab 代码的格式,可将里面的注释乱码一个一个换成相应记事本txt 里的中文注释就可以了。
如果觉得这样麻烦,可以将全部代码替换成记事本txt 中的字符,这样可能不再保留原有格式。
(完整版)matlab保存图片的四种方法
matlab保存图片的四种方法1 从菜单保存〈<回目录可以保存为fig,eps,jpeg,gif,png,bmp等格式。
2 复制粘贴 <<回目录edit-—-———〉copy figure,再粘贴到其他程序,如word3 saveas函数〈〈回目录saveas(gca,filename,fileformat)不过此函数不好用常常出错4 print函数〈<回目录〉〉 x=—pi:2*pi/300:pi;〉〉 y=sin(x);>〉 plot(x,y);〉> print(gcf,'-dpng','abc。
png')%保存为png格式的图片. 〉〉 pwdD:\Matlab\work>〉 dir〉〉 % 现在到 D:\Matlab\work 应该能找到图片 abc.png 了〉> figure(2) % 新建一个句柄为2的图形窗口。
〉〉 plot(x,cos(x)); % 在句柄为2的图形窗口上画图。
>> grid>> print(2,’—djpeg’,’D:\abc.jpeg’); %将句柄为2的图形保存为jpeg/jpg格式的图片,>> %文件名为'D:\abc。
jpeg’。
4。
2 用法:print(图形句柄,存储格式,文件名);〈<回目录图形句柄,如果图形窗口标题栏是“Figure 3”,则句柄就是3.用gcf可以获取当前窗口句柄. 指定存储格式。
常用的有:png格式:‚-dpng‘ (推荐这一种,与bmp格式一样清晰,文件也不大)jpeg: ‚-djpeg‘(文件小,较清晰)tiff: ‚—dtiff‘bmp: ‚—dbitmap‘(清晰,文件极大)gif: ‚-dgif‘(文件小但不清晰)文件名在matlab中自动保存plot图像的程序Step 1. 先使所画的图最大化,即占满整个屏幕scrsz = get(0,’ScreenSize');figure1=figure('Position',[0 30 scrsz(3) scrsz(4)-95]);或者(下面这种情况会把windows系统下面的任务栏也保存到图片中,不太好)scrsz = get(0,’ScreenSize’);figure1=figure(’Position’,[0 0 scrsz(3) scrsz(4)-66]);% Step 2. 生成数据并画图x=rand(100,1);plot(x);saveas(gcf,’filename’,'bmp’);saveas(gcf,'filename',’emf’);saveas(gcf,'filename’,’jpg');% Step 3. 清理现场clear all; clc; close all;下面的代码可以创建一个大小为整个屏幕的四分之一,位置在屏幕在左上角的一个figure对像,使用root对象的ScreenSize属性来取得屏幕的尺寸,ScreenSize是由四个元素组成的数据:[left,bottom,width,height])。
Matlab中的图怎么插入Word效果最好
Matlab中的图怎样插入Word效果最好这两天在用Word写论文,还是觉得LaTex好用。
这个插图的问题折腾了好久,结合微博上大牛的指导,终于有一个比较完美的解决方案。
最后插入Word的图生成PDF看起来是这个样子的:这是一个效果比较好的矢量图。
下面简单总结一下怎么能在Word和PDF中都看到类似这样的效果。
如果直接在Matlab的绘图窗口上点Edit——Copy Figure,到Word是这样的效果:似乎效果也还可以,但是这样的图有一个很大的问题,就是生成PDF以后坐标轴的刻度线总是有小的弯曲,一直以来我都不能理解为什么会出现这样的问题:这个问题真的让人很无语。
我们知道一般来说通用的矢量图是eps,但是Matlab直接生成eps后拷贝到Word里是这样的效果:这种在Word中的锯齿形状,让人看起来心情很不好。
虽然最后生成PDF后很清楚,但撰写文档的时候很难看。
所以不建议直接插eps。
Matlab也支持生成其他Windows 系统中的图片格式,如果我们选择导出成emf(在Matlab画图窗口中点File——Export Setup,可以对输出文件的清晰度,如300或600dpi,等参数进行设置,可以选择导出emf),插入Word中会很清晰,但生成的PDF也有个小问题:坐标轴会多一个小突起出来:关于这个问题我也是百思不得其解。
最终方案是:先用Matlab导出eps,再用CorelDRAW打开eps,将eps文件再导出成emf文件,就可以得到第一个图中最完美的解决方案。
综上所述,如果选择直接拷贝图片,生成的PDF坐标轴会弯曲(这个绝对不是个案,几年前些论文的时候就碰到了,真是个郁闷的情况);如果选择eps,在Word中会很难看;如果选择emf,生成的坐标轴也会有小问题。
最终解决方案是先生成eps,再用CorelDRAW导出成emf,这是目前看起来相对最好的办法了。
对于Visio等其他Office系列的软件,直接选择导出成emf就可以。
Matlab往Word里面插入图片范例代码
function ceshi_Word%设定测试Word文件名和路径filespec_user=[pwd '\测试.doc'];%判断Word是否已经打开,若已打开,就在打开的Word中进行操作,%否则就打开WordtryWord = actxGetRunningServer('Word.Application');catchWord = actxserver('Word.Application');end;%设置Word属性为可见set(Word, 'Visible', 1);%返回Word文件句柄documents = Word.Documents;%若测试文件存在,打开该测试文件,否则,新建一个文件,并保存,文件名为测试.doc if exist(filespec_user,'file');document = invoke(documents,'Open',filespec_user);elsedocument = invoke(documents, 'Add');document.SaveAs(filespec_user);endcontent = document.Content;selection = Word.Selection;paragraphformat = selection.ParagraphFormat;%页面设置(上下左右边距)document.PageSetup.TopMargin = 60;document.PageSetup.BottomMargin = 45;document.PageSetup.LeftMargin = 45;document.PageSetup.RightMargin = 45;%设定内容起始位置和标题set(content, 'Start',0);title='测试文件';set(content, 'Text',title);set(paragraphformat, 'Alignment','wdAlignParagraphCenter'); % 居中% set(paragraphformat, 'Alignment','wdAlignParagraphLeft'); % 居左% set(paragraphformat, 'Alignment','wdAlignParagraphRight'); % 居右%设定标题字体格式rr=document.Range(0,10);rr.Font.Size=18; % 字体大小设置rr.Font.Bold=4; % 设置字体加粗%设定下面内容的起始位置(将光标放在最后边)end_of_doc = get(content,'end');set(selection,'Start',end_of_doc);%另起一段selection.TypeParagraph;%如果当前工作文档中有图形存在,通过循环将图形全部删除shape=document.Shapes;shape_count=shape.Count;if shape_count~=0;for i=1:shape_count;shape.Item(1).Delete;end;end;%随机产生标准正态分布随机数,画直方图,并设置图形属性zft=figure('units','normalized','position',...[0.280469 0.553385 0.428906 0.251302],'visible','off');set(gca,'position',[0.1 0.2 0.85 0.75]);data=normrnd(0,1,1000,1);hist(data);grid on;xlabel('考试成绩');ylabel('人数');%将图形复制到粘贴板hgexport(zft, '-clipboard');%将图形粘贴到当前文档里,并设置图形属性为浮于文字上方% selection.Range.PasteSpecial;%将图形粘贴到当前文档里,并设置图形属性为嵌入式selection.Range.Paste;% shape.Item(1).WrapFormat.Type=3;% shape.Item(1).ZOrder('msoBringInFrontOfText');%删除图形句柄delete(zft);。
Matlab仿真波形转到Word以及FFT波形处理
仿真波形如何转到Word的文档一、仿真波形如何转到Word,及如何修改与标注坐标步骤如下:1、先从Matlab/Simulink中选出时钟Clock 以及To Workspace模块并连接起来,如下图1-1。
然后打开To Workspace,如下图1-2,接着设置参数:修改Variable name为t(可自己定义),Sample time为2e-4(可自己定义),Save format为Array。
图1-1图1-22、选择To Workspace接到需要的位置,比如要测A相电流,打开To Workspace,设置如下图1-3,同图1-2类似,只要修改Variable name为ia(可自己定义)。
注:Sample time必须与步骤1中的Sample time一致。
图1-33、步骤1、2完成后,开始仿真运行,仿真完成后,在Matlab命令行中输入plot(t,ia),然后单机Enter键确定后,便可显示如下图1-4所示的仿真波形。
图1-44、点击Edit,如下图1-5所示,然后选择Edit图标下的Axes Properties…,显示结果如下图6所示。
图1-5图1-65、在图1-6下方的方框内点击X Axis,选择X Label:输入t/s,即标注了横坐标时间t,单位为秒(s),如下图1-7所示。
然后可以修改X Limits参数,即横坐标范围。
图1-7同理设置Y Axis。
选择Y Label:输入i a/A,即标注了纵坐标电流i a,单位为安培(A)。
6、完成上述步骤后,选择Edit图标下的Copy Figure命令,如图1-8所示。
最后粘帖到Word中,得到所需a相电流波形i a如图1-9所示。
图1-8图1-9注:可以采用Edit 图标下的Axes Properties 中的grid 命令,会产生如下图1-10所示的效果。
当然还可以采用Subplot 等命令,将2、3个仿真波形放到一个图中对比显示。
将matlab中的图形转化到word中去
Q;如何将matlab中的scope图形转到word中,至少三种方法1、软件截图,这个就不多说了2、使用Matlab命令,直接保存为图片set(0,'ShowHiddenHandles','On')set(gca,'color','w')saveas(gcf,'mypic.jpg')这样就在Matlab的当前路径下得到一个白色背景的jpg文件3、使用跳出figure的菜单set(0,'ShowHiddenHandles','On')set(gcf,'menubar','figure')此时那个scope是不是多了一个菜单栏了,现在使用edit→copy figue就可以把图片复制到剪贴板中了Simulink利用Scope输出及绘制仿真波形技巧(2008-09-28 21:45:23)在用Simulink做仿真时,我们经常会用到示波器Scope来观察波形,它可以对波形进行局部放大、按横、纵座标放大,非常方便,但是如果我们要保存波形时,就最好别直接拷贝Scope波形了,因为它的背景是黑的,而且不能进行线形修改和标注,不适合作为文档用图。
一般的做法是将数据输出到工作空间,然后用画图指令Plot画图。
输出到工作空间的方法一般有这么几种:1.添加To Workspace模块;2.添加out模块;3.直接用Scope输出。
本人比较懒,一般不再添加其他输出模块,直接选用方法3。
当然不是说放一个Scope就能数出数据的,需要对Scope进行设置。
设置界面如下:这里最好把Limit data points to last勾掉,因为很有可能你的数据会超过5000个。
勾选Save data to Workspace,变量类型可以选结构体,结构体带时间,以及向量(后面我们会分别介绍这几种变量类型的画图方法)。
在word中运行Matlab程序
在word中运行Matlab【1】在Matlab目录下,找到m-book.dot文件,双击运行【2】如果禁用宏,改成运行宏【3】这时打开的word,有一个notebook的菜单【4】选中要运行的程序【5】在notebook中,点击define input cell,这时程序变绿色了【6】再在notebook中,点击evaluate calc zone,就运行了。
///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// //////////////////////////使用matlab的notebook技术可以方便的实现这个功能,但是使用notebook的前提是matlab必须处在打开状态,因此主要用来制作科技文档。
装完Word和matlab后,在matlab主环境下运行“notebook –setup”看到“notebook setup is complete”就是安装成功了。
在Word的normal.dot模板相同目录下会有一个m-book.dot的文件,所谓在word中使用matlab其实就是加载这个模板,可以手工启动matlab,然后输入“notebook”,但这个方法比较麻烦。
可以在Word->工具->模板和加载项->模板中添加这个文件,这样word主菜单上就多了一个Notebook菜单,写一个命令后选中命令文字,然后Notebook->define input cell,指明这是一个输入,然后Notebook->Evaluate Cell就可以求解了。
与matlab中一样,命令后以分号结尾,不显示输出。
///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// ///////////////////////////////Matlab的Notebook软件工具设置及程序运行博战捷摘要介绍了在Matlab中如何设置Notebook软件工具,将Matlab程序嵌入中文Word。
matlab里的模糊工具箱绘制隶属度函数曲线导入到word的方法
matlab里的模糊工具箱绘制隶属度函数曲线导入到word的方法在fuzzy logic toolbox里有fuzzy membership function可以编辑隶属度函数,非常方便,但是我们写论文一般要把相应的曲线导入到word里,怎样将隶属度函数曲线导入到word里呢?本人也苦苦的寻找了好久。
方法如下:先看看matlab帮助怎么说的:plotmfPlot all of the membership functions for a given variableSyntaxplotmf(fismat,varType,varIndex)DescriptionThis function plots all of the membership functions in the FIS called fismat associated with a given variable whose type and index are respectively given b y (varType 'input'or 'o u tpu t'), and varIndex. This function can also be used with the MATLAB function, subplot.Examplesa = readfis('t ipper');plotmf(a,'inpu t',1)看明白了吧?原来强大的matlab给我们提供了这个函数给我们用,plotmf(模糊名,‘输入还是输出’,第几个输入或输出)。
就可以画出来图像,然后和平时的方法一样再进行edit》copy figure就可以了。
matlab输出图像到word
图 错误!文档中没有指定样式的文字。
-1
图 错误!文档中没有指定样式的文字。
-2
1.先说图片格式,推荐两种:.tif 和.eps 。
图 错误!文档中没有指定样式的文字。
-3 2.如果你是用word 写论文的话,建议用tif 格式优于eps 格式,因为后者导入到word 后,文字会变得很粗;不过如果你是用latex 写的话,就用eps 吧,那效果会更好。
3.在生成figure 时,在file->expor setup 里,可以设置生成图片的 size (如2.5cm*8.89cm )、Custom renderer,Resolution(dpi):(600)、Fonts and
Lines。
设置好以后,可以将自己设置的图片格式保存Save:mty_paper_type。
以后可以从Load settings from里直接选中以保存的格式,再将图片Export 成xxx.tif 或xxx.eps。
即可!!!。
在Word中编辑和修改MATLAB图形_陈国泰
()*+), 的图形修改和编辑。
关键词
T64 长度来记录每个像素的颜色。采用图元文件格式复
制 ()*+), 图 形 有 可 能 造 成 一 些 信 息 丢 失 , 所 以
*$+,+-. /-$ %"$+01+-. %&’(&) 2+.3#4 +- 5"0,6 7/#4 !"#$ - - ./01 23%456 &89,#/:, */67 8580& 614&%’3907 /%: 4% ;%’6<= 51’ 0’64 ()*+), <6>3&0 61 4/0 7%<4:5&0 $%&’? ;41 7"#$9 ()*+),;,64;58;(045<6@0 <%&;54 &3,<"#=9 /$$#499 A085&4;014 %< B@094&%1697 C D1<%&E F3G61> .%@@0>0, F3H651 I%&;5@ J16E ;546%1 B1>6100&61> , K0&764=, !"#!## F3L/%3, ./615 ()*+), 是现在被公认为最优秀的科技应用软件
参考文献
= " * # ? !
催 张
怡 > /01203 ?>* 实例详解 > 北京: 航空工业出版社, "--航, 黄 攀 译 > 精 通 /01203 !> 北 京 : 清华大学出版社, 民, 曾 孜 > 利用 45’6 的图形编辑功能处理科技期刊插
谢中华_利用MATLAB生成Word和Excel文档
2015-7-26
©
谢中华, 天津科技大学数学系.
论坛报告会
一、什么是COM
组件对象模型(Component Object Model,
简称COM),它是微软公司为了使软件开发更加
符合人类的行为方式而提出的一种规范。在这种规
范下,单个应用程序被分隔成多个独立的部分,也 即组件(Component),这种做法的好处是可以 随着技术的发展而用新的组件取代已有的组件,此 时的应用程序不再是一个一出生就命中注定要过时
论坛报告会
S = h.invoke('methodname', arg1, arg2,…)
V = h.methodname
V = h.methodname(arg1, arg2,…)
【例3】创建一个日历控件,在一个循环里调用NextDay 方法,将时间后推1000天,并返回当时的时间
>> cal = actxcontrol('mscal.calendar',[10 10 540 400]); >> for i=1:1000 cal.NextDay; end >> cal.Value % 返回修改后的时间
2015-7-26
©
谢中华, 天津科技大学数学系.
论坛报告会
2. 页面设置 查看PageSetup接口的所有属性
>> Document.PageSetup.get
页面设置
>> Document.PageSetup.TopMargin = 60; % 上边距60磅 >> Document.PageSetup.BottomMargin = 45; % 下边距45磅 >> Document.PageSetup.LeftMargin = 45; % 左边距45磅 >> Document.PageSetup.RightMargin = 45; % 右边距45磅
改变示波器背景色并保存至word文档
怎样改变MATLAB/SIMULINK示波器仿真波形中的背景颜色,并将仿真波形保存至word文档中?若对编辑功能要求不高,简单方便的作法:1. 首先双击打开要保存的图形的scope窗口,单击parameters按钮,在Data History页中勾选中Save data to workspace,设置变量名(例如aa),并将format设为Array,然后运行程序,在workspace中就能找到对应的变量名;2. 然后在MATLAB命令窗口中键入以下命令:Plot(aa) 回车,%注意:命令均为英文字符,包括标点符号将弹出一个figure窗口,若这个图形满足你的要求,就可在figure窗口上面找到Edit,打开下拉菜单点击Copy Figure,这样图形就复制到剪贴板上,可以粘贴到word文档了。
3. 若这个图形不满足你的要求,例如需要修改坐标轴的刻度和添加标签之类的,在Edit下拉菜单中点击Axes Properties,可单击图形窗口内空白处,在对应要修改的轴的编辑框右边有一个tick按钮,点进去以后选Manual,在第二列(Labels)中就可以逐一手动改刻度了,或在最后一个刻度旁添加十的n次方改变数量级(例如500改成500e-3就表示0.5)。
再按步骤2 Copy Figure,就可粘贴到word文档。
对有其它特殊要求的用户,也可以这么作:第一步:改变背景色等scope显示出来图像以后,在MATLAB上运行set(0,'ShowHiddenHandles','On') 回车set(gcf,'menubar','figure') 回车这时候你会发现scope的工具栏的上面多了一行,点击insert-axes,鼠标会变成十字形状,然后在图像的任意一处双击左键出现一个对话框PropertyEditor,选中style在窗口中会出现color,这时你就可以任意修改背景颜色了,还可改变曲线颜色、X轴颜色和y轴颜色,以及添加图形名称和X轴与y轴名称。
在matlab中操作excel wor
matlab操作worde/xcelfunction ceshi_Excel%设定测试Excel文件名和路径filespec_user=[pwd '\测试.xls'];%判断Excel是否已经打开,若已打开,就在打开的Excel中进行操作,%否则就打开ExceltryExcel=actxGetRunningServer('Excel.Application');catchExcel = actxserver('Excel.Application');end;%设置Excel属性为可见set(Excel, 'Visible', 1);%返回Excel工作簿句柄Workbooks = Excel.Workbooks;%若测试文件存在,打开该测试文件,否则,新建一个工作簿,并保存,文件名为测试.Excelif exist(filespec_user,'file');Workbook = invoke(Workbooks,'Open',filespec_user);elseWorkbook = invoke(Workbooks, 'Add');Workbook.SaveAs(filespec_user);end%返回工作表句柄Sheets = Excel.ActiveWorkBook.Sheets;%返回第一个表格句柄sheet1 = get(Sheets, 'Item', 1);%激活第一个表格invoke(sheet1, 'Activate');%如果当前工作表中有图形存在,通过循环将图形全部删除Shapes=Excel.ActiveSheet.Shapes;if Shapes.Count~=0;for i=1:Shapes.Count;Shapes.Item(1).Delete;end;end;%随机产生标准正态分布随机数,画直方图,并设置图形属性zft=figure('units','normalized','position',...[0.280469 0.553385 0.428906 0.251302],'visible','off');set(gca,'position',[0.1 0.2 0.85 0.75]);data=normrnd(0,1,1000,1);hist(data);grid on;xlabel('考试成绩');ylabel('人数');%将图形复制到粘贴板hgexport(zft, '-clipboard');%将图形粘贴到当前表格的A5:B5栏里Excel.ActiveSheet.Range('A5:B5').Select;Excel.ActiveSheet.Paste;%删除图形句柄delete(zft);2. 用matlab生成带有图片的Word文档function ceshi_Word%设定测试Word文件名和路径filespec_user=[pwd '\测试.doc'];%判断Word是否已经打开,若已打开,就在打开的Word中进行操作,%否则就打开WordtryWord = actxGetRunningServer('Word.Application');catchWord = actxserver('Word.Application');end;%设置Word属性为可见set(Word, 'Visible', 1);%返回Word文件句柄documents = Word.Documents;%若测试文件存在,打开该测试文件,否则,新建一个文件,并保存,文件名为测试.docif exist(filespec_user,'file');document = invoke(documents,'Open',filespec_user);elsedocument = invoke(documents, 'Add');document.SaveAs(filespec_user);endcontent = document.Content;selection = Word.Selection;paragraphformat = selection.ParagraphFormat;%页面设置document.PageSetup.TopMargin = 60;document.PageSetup.BottomMargin = 45;document.PageSetup.LeftMargin = 45;document.PageSetup.RightMargin = 45;%设定内容起始位置和标题set(content, 'Start',0);title='测试文件';set(content, 'Text',title);set(paragraphformat, 'Alignment','wdAlignParagraphCenter'); %设定标题字体格式rr=document.Range(0,10);rr.Font.Size=16;rr.Font.Bold=4;%设定下面内容的起始位置end_of_doc = get(content,'end');set(selection,'Start',end_of_doc);%另起一段selection.TypeParagraph;%如果当前工作文档中有图形存在,通过循环将图形全部删除shape=document.Shapes;shape_count=shape.Count;if shape_count~=0;for i=1:shape_count;shape.Item(1).Delete;end;end;%随机产生标准正态分布随机数,画直方图,并设置图形属性zft=figure('units','normalized','position',...[0.280469 0.553385 0.428906 0.251302],'visible','off');set(gca,'position',[0.1 0.2 0.85 0.75]);data=normrnd(0,1,1000,1);hist(data);grid on;xlabel('考试成绩');ylabel('人数');%将图形复制到粘贴板hgexport(zft, '-clipboard');%将图形粘贴到当前文档里,并设置图形属性为浮于文字上方selection.Range.PasteSpecial; % or selection.Range.Paste% shape.Item(1).WrapFormat.Type=3;% shape.Item(1).ZOrder('msoBringInFrontOfText');%删除图形句柄delete(zft);。
实验三 MATLAB的绘图功能
(1)利用民生银行股票价格数据画出股价(收盘价)波动图,并在同一张图中画出5日均线图。
答:先将数据导入matlab工作区,再直接在图窗口编辑
接下来画五日均线图,思路:先在民生银行(表格)计算出五日均线数据,将其数据写入表格的一列,再将(五日均线数据)和日期数据复制到另一表格中,将此表格数据导入变量,作图,再编辑图例
(3)查看运行结果:
(4)如果要将所得图形插入到word文档中,应如何操作?
在figure窗口中选择编辑,选择“复制图窗”,随后黏贴到word文档中
3、绘制三维螺旋线: 要求给相应的坐标轴和标题附加标注,螺线为蓝色虚线,线条粗细设置为3。
(1)生成三维螺旋线的程序:
t=0:pi/10:10*pi;
x=2*(cos(t)+t.*sin(t));
资金流向饼图:
x=[4619.0111 3965.2678 8239.9428 8293.4513 10272.8647 10920.2478 5173.3858 5126.2376];
subplot(2,2,2),mesh(X,Y,Z);title('网格图');
subplot(2,2,3),surf(X,Y,Z);title('光滑曲面图');shading interp;
(3)绘制镂空图。将 的数据点的z坐标取值设置为“nan”。
程序:
i=find(Z<-0.1);
Z(i)=nan;
surf(x1,y1,z1);
shading interp;colormap(summer)
axis off
6、播放一个直径不断变化的球体。
要求:
(1)球体为光滑曲面,颜色为光谱交错色。
MATLAB与WORD的交互
MATLAB与WORD的交互本文档所要解决的问题是如何直接在WORD中进行MATLAB的命令操作并将结果直接显示在WORD中。
一、notebook的安装和启动在notebook安装之前需要先安装WORD和MATLAB。
1、notebook的安装直接在MATLAB的命令窗口输入命令notebook –setup 安装完成的画面如下:图一安装notebook完成界面注意:老版本的MATLAB在安装notebook时会提示用户选择本机所安装的WORD 版本。
2、notebook的启动在MATLAB命令窗口输入notebook即可启动WORD,并新建一个M-book文档(M-book文档是WORD中的一种文档形式)。
如此一来,WORD将调用MATLAB服务器,所以即可在该M-book文档中输入并执行MATLAB命令。
二、WORD中MATLAB命令的使用1、M-book的加载项在新建立的M-book文档的菜单栏的加载项中将会看到对WORD中的MATLAB指令进行操作的一些指令。
如下图:图二notebook中加载项这些指令的使用方法是,在M-book文档中写入MATLAB指令,然后选中这些指令,然后在加载项中选择相应的命令,有些命令是有快捷键的,快捷键将在下面介绍一些常用命令的功能时附带阐述。
2、加载项中的常用命令介绍(1)Define Input Cell该命令的作用是将用户所写入的需要执行的MATLAB指令定义为输入单元,快捷键是Alt+D。
执行完后相应指令将会变为绿色,并用灰色的中括号括起来。
下图为将绘制正弦函数的指令定义为输入单元前后的对比:图三Define Input Cell命令的效果(2)Evaluate Cell当在上一步中将MATLAB指令定义为输入单元之后,在加载项中选择Evaluate Cell命令,快捷键为Ctrl+Enter。
就可执行该MATLAB指令,并将输入结果显示在WORD中。
将MATLAB中的图形转化到WORD中去
Q;如何将matlab中的scope图形转到word中,至少三种方法1、软件截图,这个就不多说了2、使用Matlab命令,直接保存为图片set(0,'ShowHiddenHandles','On')set(gca,'color','w')saveas(gcf,'mypic .jpg')这样就在Matlab的当前路径下得到一个白色背景的jpg文件3、使用跳出figure的菜单set(0,'ShowHiddenHandles','On')set(gcf,'menubar','figure')此时那个scope是不是多了一个菜单栏了,现在使用edit→copyfigue 就可以把图片复制到剪贴板中了Simulink利用Scope输出及绘制仿真波形技巧(2008-09-2821:45:23)在用Simulink做仿真时,我们经常会用到示波器Scope来观察波形,它可以对波形进行局部放大、按横、纵座标放大,非常方便,但是如果我们要保存波形时,就最好别直接拷贝Scope波形了,因为它的背景是黑的,而且不能进行线形修改和标注,不适合作为文档用图。
一般的做法是将数据输出到工作空间,然后用画图指令Plot画图。
输出到工作空间的方法一般有这么几种:1.添加ToWorkspace模块;2.添加out模块;3.直接用Scope输出。
本人比较懒,一般不再添加其他输出模块,直接选用方法3。
当然不是说放一个Scope就能数出数据的,需要对Scope进行设置。
设置界面如下:这里最好把Limitdatapointstolast勾掉,因为很有可能你的数据会超过5000个。
勾选SavedatatoWorkspace,变量类型可以选结构体,结构体带时间,以及向量(后面我们会分别介绍这几种变量类型的画图方法)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Matlab操作Word部分的例子为 example.m中的example7 Matlab同时操作读取文本数据继而 生成图表插入word中的例子见 zj.m
谢谢!
%若文件存在,打开该文件,否则新建一个文件 if exist(wordname,'file'); document = invoke(documents,'Open',wordname); else document = invoke(documents, 'Add'); end 4. 通过修改PageSetup的属性的属性值,可以进行页面设 置,例如: document.PageSetup.TopMargin = 60; %上边距 document.PageSetup.BottomMargin = 45;%下边距 document.PageSetup.LeftMargin = 80; %左边距 document.PageSetup.RightMargin = 45; %右边距
Selection接口 利用Word服务器的Selection接口可以在文档中选定一个区域,并对所 选区域进行相关操作。例如 Selection=Word.Selection; %返回Word服务器的Selection接口句柄 end_of_doc = get(Content,'end'); set(Selection,‘Start’,end_of_doc);%设置选定区域的起始位置为文档末 尾 Selection.TypeParagraph; %回车,另起一段 xueqi=‘(2009 – 2010 学年 第一学期)'; Selection.Text=xueqi; %在选定区域输入文字内容 Selection.Font.Size=12; %设置字号为12 Selection.Font.Bold=0; %字体不加粗 Selection.MoveDown; %光标移到所选区域的最后 set(Paragraphformat, ‘Alignment’,‘wdAlignParagraphCenter’);%居中 Selection.TypeParagraph; %回车,另起一段 Selection.TypeParagraph; %回车,另起一段 Selection.Font.Size=10.5; %设置字号为10.5
2. 插入表格 利用下面的命令在光标所在的位置插入一个m行n列的表 格: Tables=Document.Tables.Add(Selection.Range,m,n); 设置表格边框命令: DTI=Document.Tables.Item(1);%获取第1个表格的句柄 DTI.Borders.Item(i).LineStyle=‘wdLineStyleSingle’; i为1-8,表示一个表格有8种线,分别对应上边框、左边框、 下边框、内横线、内竖线、左上至右下内斜线和左下至右 上内斜线 合并单元格命令: DTI.Cell(i1,j1).Merge(DTI.Cell(i2,j2)); 输入单元格内容命令: DTI.Cell(1,1).Range.Text=‘content';
使用textread()函数,其主要功能是读取文件中规则的数 据,其语法为: [data]=textread(fid) 数据之间用空格分开 [data]=textread(fid, '','delimiter',',') 数据之间用逗号分开 例example.m中的example4
4. 写入 ASC Ⅱ文件 使用fprintf()函数按指定格式写入文件,语法为: fprintf(fid,format,y) 其中,fid为文件的标识符,format为格式,用于指定 文件写入的格式,y是要写入的数据变量 常用的数据格式符为: %e: 科学记数,写成a x 10b形式 %f: 固定栏宽(位数)表示,含整数、小数部分 例example.m中的example5 5. 例example.m中的example6给出了一个读入与写入的完 整实例
利用MATLAB生成Word文档 1. 调用actxserver函数创建Microsoft Word服务器 先判断word服务器是否已经打开,若已经打开,就在打 开的word服务器中写入文档,否则用actxserver函数创 建Microsoft Word服务器。相关命令如下: try %若word服务器已经打开,返回其句柄Word Word = actxGetRunningServer('Word.Application'); catch %创建一个Microsoft Word服务器,返回句柄Word Word = actxserver('Word.Application'); end;
3. 插入图片 %新建一个图形窗口,设置为不可见状态 zft=figure('units','normalized','position',... [0.280469 0.553385 0.428906 0.251302],‘visible’,‘off); %设置坐标系的位置和大小 set(gca,'position',[0.1 0.2 0.85 0.75]); %生成标准正态的随机数 data=normrnd(0,1,1000,1); hist(data); grid on; %绘制直方图及添加参考网格 xlabel(‘考试成绩'); ylabel(‘人数'); hgexport(zft, ‘-clipboard’);%将图形复制到剪贴板 Selection.Range.Paste;%在当前光标的位置插入图片
利用MATLAB在Word中插入文字、图和表
1. 写入文字内容 页面设置完毕后,就可以在空白文档中写入文字内容了,这要用到 Word服务器的Selection接口,Document接口的Content、 Paragraphs接口。 Content 接口 利用Document的Content接口可以在文档指定位置写入一段文字。 Content=Document.Content; %返回Document的Content句柄 set(Content, ‘Start’,0); %设置文档内容的起始位置 title=’试 卷 分 析‘; set(Content, ‘Text’,title); %输入文字内容 Content.Font.Size=16; %设置字号16 Content.Font.Bold=4; %字体加粗 Content.Paragraphs.Alignment=‘wdAlignParagraphCenter’;%居中
3.
若要更精确的读取ASC Ⅱ文件,可以使用fscanf()函数 语法为:a=fscanf(fid,format) 其中fid为文件标识符,format指定文件读取的格式,常用 以下几种: %d:十进制整数 %s:字符串 %f:浮点数 注:只要读入数据正确,fscanf()将一再执行,并返回一向 量;如果要限制返回向量的大小或返回一矩阵,则应在 fscanf()中加入第三个参数。 例example.m中的example3
设置对象属性 以上命令若正确执行catch部分,此时Word的Visible属 性的属性值为0,服务器界面为不可见状态;将Visible 属性的属性值重新设置为1,服务器界面变为可见状态。 %设置Word服务器为可见状态 set(Word, ‘Visible’, 1); %或Word.Visible=1; 3. 新建空白文档 Word界面已经打开,但是还没有可编辑的文档,应先 建立空白文档。相关命令如下: %返回Word文件句柄 documents = Word.Documents; 2.
2.
关闭文件 使用fclose()关闭文件,语法为: status=fclose(fid) 若顺利关闭,则返回0 若无法关闭,则返回-1 例example.m中的example1
读取ASC Ⅱ文件 使用fgetl()函数,其功能将ASC Ⅱ文件的某一行 读出,并将ASC Ⅱ码转换成字符串返回。 例example.m中的example2 注:还可以使用fgets()函数,其不同之处在于保留 换行符
MATLAB在数据处理中的应用
周
建
结构动力学与控制研究所
ห้องสมุดไป่ตู้
文件操作函数
•
打开文件 使用fopen()函数打开文件,语法为: fid=fopen(‘文件名’,‘操作权限’) 其中,操作权限为以下几种: r:只读 a:附加 w:只写 a+:读取并加入 fid为返回的文件标识码,一般为非负整数, 若返回值为-1,则代表无法打开文件。 例example.m中的example1