在Word环境下使用MATLAB
在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外部接口

在如下图所示的对话框中输入 “MATLABinit”,单击【执行】按钮后即 可启动Excel link,并同时启动MATLAB。
3.Excel link的终止
当终止 Excel 的时候, Excel link 和 MATLAB会被同时终止。
如果需要在Excel环境中终止MATLAB和
Excel link的运行,则在工作表单元中输
2 编 译 器
2.1 编译器概述 2.2 编译器的安装和配置 2.3 编译器的使用
MATLAB编译器是指将M文件作为 其输入,同时生成独立的可执行文件 或相关软件组件的程序,它可以由命 令mcc调出。
2.1 编译器概述
MATLAB编译器4.0版本采用了MATLAB
Component Runtime(MCR)技术。 MCR提供了对MATLAB语言的完全支 持。
入“=MLClose()”即可,如下图所示。 当 需要重新启动Excel link和MATLAB时,
可以使用MATLABinit命令。
4.Excel link使用时需要注意的 几个问题
Excel link函数名对字母的大小写不作区
ቤተ መጻሕፍቲ ባይዱ
分,而MATLAB函数名是区分大小写的。
Excel工作表等式通常以“+”或“=” 作为起 始标记。
情况:代码以命令clear开始;重新启动 计算机后,再执行M-book文档中的程 序;将M-book文档的代码拷贝到M文 件,再到MATLAB的命令窗口执行。
M-book文档的代码运行速度要比在
MATLAB命令窗口中执行慢很多。
当编辑科技论文或其他文档时,最后可将
细胞转换为普通文本。
可使用Notebook菜单中的【Bring
(完整word版)用matlab实现DFTFFT

用matlab实现DFT FFT目录实验目的 (2)实验内容 (2)1.用MATLAB实现DFT (2)2.用MATLAB实现FFT,分析有限离散序列的FFT (3)3.通过分别计算时间,得出DFT与FFT的算法差异 (7)实验原理 (8)1. 离散傅里叶变换的快速算法FFT (8)2. FFT提高运算速度的原理 (9)3. 理论分析DFT与FFT算法差异 (11)实验步骤 (12)实验结果 (13)实验分析 (27)实验结论 (33)实验体会 (33)实验目的1.通过研究DFT,FFT性质,用语言实现DFT, FFT。
不使用MATLAB现有的FFT函数,自己编写具体算法。
2.掌握FFT基2时间抽选法,理解其提高减少乘法运算次数提高运算速度的原理。
3.设计实验,得出DFT和FFT算法差异的证明,如复杂度等(精度、不同长度的序列等)。
实验内容1. 用MATLAB实现DFTN点序列x(n) 的DFT为:DFT的矩阵为:根据DFT公式与矩阵展开,通过MATLAB实现DFT:2.用Matlab实现FFT编程思想及程序框图:●原位计算因为DIT-FFT与DIF-FFT的算法类似,这里我们以DIT-FFT为例。
N=2M点的FFT共进行M级运算,且每一级都由N/2个蝶形运算组成,后一级的节点数据由前一级同处一条水平线位置的节点数据产生,所以我们同样可以将后一级的节点数据储存到前一级的节点中,这样的方法叫做原位计算,它大大节省了内存资源,降低了成本,简化了运算。
●序列的倒序无论是进行DIT-FFT还是DIF-FFT都需要进行倒序,包括输入倒序与输出倒序,以一定的方式将数组进行重新排列。
倒序的方法:首先由于N=2M,我们就可以用M位二进制数来表示节点的顺序,并且按照奇偶时域抽取。
然后,如图1所示,第一次按最低位n0的0、1值分解为奇偶组,第二次按次低位n1的0、1值分解为奇偶组,以此类推。
最后,所得二进制数所对应的十进制数即为序列倒序后产生的序列。
基于Matlab在Word中插入函数图形

p a h c i r a e n Ma a . t b i f l o n t n n tl te s f a ema a n sald i r ” b o . o” r p i Wo d b s d o d b Ma l l f u c i .i s l h ot r t b a d i t l nwo a M- o k d t n a Su f o a w l n e d s
l s r h u to g a h c n W o d b s d o M a l b n e tt e f nc i n r p i si r a e n ta
YANG Jay i—i
( p l dI o ai eho g eat etI tu eh l yJ m s U i rt,i s 14 0 ,hn ) A pi n r t nTc nl yD p r n, si t o c no ,a ui nv sy J mui 50 7 C i e fm o o m n t e fT o g i ei a a
Ab t a t n od r t n e tt e ma h ma ia u c in i g s g a h c i W 0 d i n e s t se e o ms smp e sr c :I r e o i s r h t e t lf n t ma e r p i n c o r , e d o ma t r a f w fr i l , t p w ru d b d a n o o e f lMa a rwi g c mma d f n t n n u ci s o i p p rg v u to fi s ri g t e mah ma ia u c in i g s s a e a e o ta meh d o n e t h te t l f n t ma e n c o
matlab基础与应用教程课件第11章

y=fscanf(fid,'%5d',[10,10]);
A=fscanf(fid,'%s', [4]);
C=fscanf(fid,'%g %g',[2 inf]);
〔2〕fprintf函数 fprintf函数可以将数据按指定格式写入到文本文件中。其调用格式为
【例11.3】假定文件textdemo.txt中有以下格式的数据:
Name English Chinese Mathmatics
Wang
99
98
100
Li
98
89
70
......
此文件第一行为标题行,第2~5行的第1列为字符型,后3列为整型。从 该文件中将前3个数据读入到grades的命令如下:
fid = fopen('textdemo.txt', 'r');
fid=fopen('aaa.dat','w');
〔3〕调用MATLAB函数进展运算
11.2 MATLAB数据接口
MATLAB提供了多种不同层次的数据输入/输出函数。 MATLAB提供多种方法支持将磁盘文件和剪贴板中的数据导入到 MATLAB的工作区,最简单的方法是使用数据导入向导〔可通过选择 “File〞菜单中的“Import data〞命令或在命令窗口执行命令“uiimport 〞来激活它〕,而在M文件中那么可以使用MATLAB输入/输出函数。
〔4〕textscan函数
有格式文件可以使用文本输入函数textscan读取数据。textscan函数调用 格式为
C=textscan(fid, fmt, N , param, value)
Notebook 的使用在word环境下使用matlab

定义输入细胞(Define Input Cell) 用鼠标选中(点亮)文本内容,而后
选择Notebook|Define Input Cell 按下组合键[Alt+D]
那么,“点亮”部分就被激活成输入细 胞, 文字颜色将呈现为绿色。 但它并不进行运算,不会输出任何结果。
输入细胞的执行(Evaluate Cell)
Notebook的安装
在已安装有word的前提下,打开MATLAB,在其 指令窗中输入:
notebook(‘-setup’)
配置过程将自动进行,如果指令窗中出现如下 信息,就表示配置成功,notebook安装完毕。
Notebook setup is complete.
Notebook的启动
从word下创建新的M-book文档
选中文本内容后, 选择Notebook|Evaluate Cell 按下组合键[Ctrl+Enter] 输入细胞所含指令就被送进MATLAB运 行,并在该输入细胞的下方嵌入计算结果 (数据或图形)。这就是输出细胞,用蓝 色表示。
说明:
以普通文本形式输入的细胞必须是MATLAB指令 标点符号必须是在英文状态下输入。
M-book模板的基本操作
凡参与word和MATLAB之间交换信息的部 分,就称为“细胞(群)(Cells or Cell group)。” “输入细胞(Input cells)”:由M-book送向 MATLAB的指令; “输出细胞(Output cells)”:由MATLAB 返回M-book的计算结果; 所有操作均可通过{notebook}下拉菜单进行。 本课件相关资料来源于 /pifu/hblc/
影响所用输入细胞运行后的绘图输出。 在默认情况下, “镶嵌选项” {Embed Figures in M-book} 处于“勾选”状态。若选择“不 勾”,那 么在M-book 文档中,将肯定没有输出图形。
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);。
Word与MATLAB的动态数据交换与应用

动启 动 。 也可 以在 wo r d默认 窗 口中打开 已有 的 M— b o o k文档 , 与打 开一般 的 Wo r d文 档没 什么两样 ; 另 一种
1 No t e b o o k的 安装 与启 动
1 . 1 No t e b o o k的 安装
No t e b o o k的 安装 有 两 种 方 法 : 一 种 是 在 Wi n d o ws上 分 别 安 装 Wo r d和 MATL AB , 然 后 启 动 MAT— L AB, 在 MAT I AB指令 窗 中运行 n o t e b o o k — s e t u p ( 注意 n o t e b o o k后 面有 一 空格 ) , 然后 根 据 系统 提示 选 择 Mi c r o s o f t Wo r d版本 , 经确认 后 , 系统会 自动 提示安 装成 功 ; 另 一种 方法是把 MAT I AB 6 p 5 n o t e b o o k k p e目 录下 的 M— b o o k . d o t 模 板 文 件 直 接 拷 贝 到. . \ P r o g r a m F i l e s \ Mi c r o s o f t Of f i c e \ Te mp l a t e s \ 2 0 5 2目录 下 即
是从 MAT I AB中启动 No t e b o o k 。在 MA TL A B指令 窗 中输 入 n o t e b o o k指令 , 该指 令启 动 No t e b o o k的格 式如下:
n o t e b o o k n o t e b o o k P a t h F i l e Na me
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
13.3 输出格式控制 输出格式控制包括输出数据控制和输出图形控制。 输出格式控制包括输出数据控制和输出图形控制。 可以通过Notebook菜单中的 菜单中的Notebook Options命 可以通过 菜单中的 命 令来实现。 令来实现。
13.3.1 数据输出控制 1.输出数据的表示方式 .
2.输出数据间的空行控制 .
clear; x=0:pi/20:2*pi; k=1; hold on;
行命令, 菜单中的Evaluate Loop命令打 (2)选中以下 行命令,再选择 )选中以下3行命令 再选择Notebook菜单中的 菜单中的 命令打 开循环执行对话框,取重复10次 单击Start按钮,命令循环执行。 按钮, 开循环执行对话框,取重复 次,单击 按钮 命令循环执行。 y=k*sin(x); plot(x,y); k=k+1; 按钮, (3)待循环结束,单击 )待循环结束,单击Close按钮,关闭对话框。 按钮 关闭对话框。
13.1.2 Notebook的启动 的启动 启动Notebook有两种方法:从Word中启动或从 有两种方法: 启动 有两种方法 中启动或从 MATLAB命令窗口启动。 命令窗口启动。 命令窗口启动 1.从MATLAB中启动 中启动Notebook . 中启动 Notebook或Notebook文件名 或 文件名 2.从Word中启动 中启动Notebook . 中启动
13.2.2 自动初始化单元 可以把文本形式的MATLAB命令或已经存在 可以把文本形式的 命令或已经存在 的输入单元定义为自初始化单元。 的输入单元定义为自初始化单元。其方法 先选中它们,然后选择Notebook菜单 是:先选中它们,然后选择 菜单 中的Define AutoInit Cell命令即可。 命令即可。 中的 命令即可 在打开M-book文档以后,新定义的自动初始 在打开 文档以后, 文档以后 化并不会自动执行,须另外进行运行操作。 化并不会自动执行,须另外进行运行操作。 运行自活细胞的方法同输入细胞一样, 运行自活细胞的方法同输入细胞一样,选 菜单命令或按Ctrl+Enter 择Eva1uate Cell菜单命令或按 菜单命令或按 + 键。
2.整个M-book文档输入单元的执行 .整个 文档输入单元的执行 Notebook菜单项中的 菜单项中的Evaluate M-book命令可以把整个 菜单项中的 命令可以把整个 M-book文档中的所有输入单元送到 文档中的所有输入单元送到MATLAB中去执行。 中去执行。 文档中的所有输入单元送到 中去执行 3.删去M-book文档中所有输出单元 .删去 文档中所有输出单元 Notebook菜单项中的 菜单项中的Purge Output Cells命令可以删去 菜单项中的 命令可以删去 M-book文档中所有输出单元。具体操作方法为:先选中全 文档中所有输出单元。 文档中所有输出单元 具体操作方法为: 部文档,然后操作。 部文档,然后操作。 4.单元转化为文本 . 单元转化为文本的方法是:选定单元,再选择Notebook 单元转化为文本的方法是:选定单元,再选择 菜单中的Undefine Cells命令。或将光标置于单元之中,按 命令。 菜单中的 命令 或将光标置于单元之中, 组合键Alt+ 。 组合键 +U。
2.输出单元 . 输入单元执行后产生输出单元。 输入单元执行后产生输出单元。如果输入单元经修 改后重新执行,那么新的输出单元将替换原有的 改后重新执行, 输出单元。图形的输出格式则通过Notebook菜单 输出单元。图形的输出格式则通过Notebook菜单 中的Notebook Options来设置。 来设置。 中的 来设置
13.2 单元的使用 13.2.1 输入输出单元 1.输入单元 . 定义输入单元的方法是:首先选中所需命令, 定义输入单元的方法是:首先选中所需命令,然后 菜单项中选择Define Input Cell命令, 命令, 在Notebook菜单项中选择 菜单项中选择 命令 于是被选中的MATLAB命令成为输入单元。定义 命令成为输入单元。 于是被选中的 命令成为输入单元 输入单元也可以在选中所需命令后, 输入单元也可以在选中所需命令后,直接按组合 键Alt+D。 Alt+D。 为了执行输入单元,应选择Notebook菜单项中的 为了执行输入单元,应选择 菜单项中的 Evaluate Cell命令或直接按组合键 命令或直接按组合键Ctrl+Enter。 命令或直接按组合键 。
文档中定义输入单元, 例13-1 在M-book文档中定义输入单元,要求产生一个 阶魔 文档中定义输入单元 要求产生一个5阶魔 方阵,并求相应的逆矩阵和各元素的倒数矩阵。 方阵,并求相应的逆矩阵和各元素的倒数矩阵。 操作步骤如下: 操作步骤如下: (1) 在文档中输入 在文档中输入MATLAB命令: 命令: 命令 x=magic(5) y=inv(x) z=x.^(-1) (2) 选中命令行,在Notebook菜单项中选 选中命令行, 菜单项中选Define Input 菜单项中选 Cell命令或直接按组合键 命令或直接按组合键Alt+D,于是命令行就变成了 命令或直接按组合键 , 绿色”的输入单元。 “绿色”的输入单元。 (3) 若要把输入单元送去执行,则可用 若要把输入单元送去执行,则可用Notebook菜单项中 菜单项中 命令或直接按组合键Ctrl+Enter,执行 的Evaluate Cell命令或直接按组合键 命令或直接按组合键 , 后产生“蓝色”的输出单元: 后产生“蓝色”的输出单元: 输入单元的定义与执行也可以同时进行。 输入单元的定义与执行也可以同时进行。先选中 MATLAB命令,然后从 命令, 菜单项中选择Evaluate 命令 然后从Notebook菜单项中选择 菜单项中选择 Cell命令或直接按组合键 命令或直接按组合键Ctrl+Enter,不但使被选中的 命令或直接按组合键 , 命令成为输入单元,而且送去执行,产生输出单元。 命令成为输入单元,而且送去执行,产生输出单元。
环境下使用MATLAB 第13章 在Word环境下使用 章 环境下使用 13.1 Notebook操作基础 操作基础 13.2 单元的使用 13.3 输出格式控制
13.1 Notebook操作基础 操作基础 13.1.1 Notebook的安装 的安装 首先安装Word 2002,然后启动 首先安装 ,然后启动MATLAB,在其命令 , 窗口输入: 窗口输入: notebook –setup 屏幕提示: 屏幕提示: 选择【 】 选择【3】 此时,用户根据所用Word版本,在最后一行提示后面 版本, 此时,用户根据所用 版本 输入对应序号,并按回车键。于是MATLAB会自动 输入对应序号,并按回车键。于是 会自动 寻找winword.exe的安装路径,并在该路径下寻找模 的安装路径, 寻找 的安装路径 板文件normal.dot。如果找到了,则出现提示: 板文件 。如果找到了,则出现提示: Notebook setup is complete. 表示Notebook安装结束。 安装结束。 表示 安装结束
13.2.3 单元组 Notebook允许把多行 允许把多行MATLAB命令当作义个整体运行。 命令当作义个整体运行。 允许把多行 命令当作义个整体运行 把多行输入单元或自初始化单元称为单元组。 把多行输入单元或自初始化单元称为单元组。 定义单元组的方法如下: 定义单元组的方法如下: (1) 对输入的多行文本型 对输入的多行文本型MATLAB命令,用鼠标把它们 命令, 命令 同时选中,然后在Notebook菜单中选择 菜单中选择Define Input 同时选中,然后在 菜单中选择 Cell或Define AutoInit Cell命令,便生成输入单元组 命令, 或 命令 或自初始化单元组。 或自初始化单元组。 (2) 对输入的多行文本型 对输入的多行文本型MATLAB命令,用鼠标把它们 命令, 命令 同时选中,然后在Notebook菜单中选择 菜单中选择Evaluate Cell 同时选中,然后在 菜单中选择 或按组合键Ctrl+Enter,于是单元组被定义并执行。 或按组合键 ,于是单元组被定义并执行。
输入单元定义与执行同时进行。 例13-2 输入单元定义与执行同时进行。 在英文状态下,以文本方式键入命令, 在英文状态下,以文本方式键入命令,然后选中命 令并按Ctrl+Enter键,则得到输入、输出单元。 令并按 键 则得到输入、输出单元。 x=1:5,y=sin(x),z=y.^2,a=[x;y;z;x.^y;x./z],inv(a)
x=linspace(0,2*pi,50) [x,y,z]=cylinder(sin(x)+1); surf(10.*x,10.*y,10.*z); a=eye(4)
13.2.4 计算区
定义计算区的方法是:先选定包含普通Word文本 文本、 定义计算区的方法是:先选定包含普通Word文本、输 入单元和输出单元的一个连续区,然后选择Notebook菜单 入单元和输出单元的一个连续区,然后选择Notebook菜单 中的Define Calc Zone命令。 命令。 中的 命令 一旦计算区被定义后,不管光标在计算区的什么位置, 一旦计算区被定义后,不管光标在计算区的什么位置, 只要选择Notebook菜单中的 菜单中的Evaluate Calc Zone命令即可执 只要选择 菜单中的 命令即可执 行计算区中的全部输入单元, 行计算区中的全部输入单元,且在每个输入单元后面以输 出单元形式给出相应的计算结果。 出单元形式给出相应的计算结果。
13.2.5 单元的其他操作 1.单元的循环执行 . 利用N执行。 命令可实现单元的循环执行。 利用 菜单中的 命令可实现单元的循环执行 使用单元的循环执行产生图13-2. 例13-5 使用单元的循环执行产生图 (1)运行以下命令: )运行以下命令:
13.3.2 图形输出控制 1.图形镶嵌的控制 .
2.曲面图色彩控制 .
3.图形背景色的控制 .