⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mathtools faq.txt

📁 关于Matlab的Tools的常见问题的介绍
💻 TXT
📖 第 1 页 / 共 5 页
字号:
                
        DataFit可以自定义拟合模型,适用于复杂系统的拟合。


=================================== 

41)..Matlab中为什么我对m文件、simulink模块,mat文件的修改不起作用呢?
:hyphone,2002/7/6,SMTH/MathTools#

        检查Matlab路径中是否有与你的m文件、mdl文件或者mat文件同名的m文件、
        mdl文件或者mat文件。Matlab执行搜索到的第一个文件。

=================================== 
42).Matlab中,函数里面怎样使用基本工作空间中的变量?
为什么inline函数不能使用外面的变量?
:hyphone,2002/7/6,SMTH/MathTools#

        函数只能存取它自己的工作空间中的变量。要在函数之间,或者函数与基本
        工作空间之间传递数值,尝试以下方法:
        1、使用全局变量,用global定义全局变量
        2、使用evalin:
                evalin('base','v=1;');  %在基本工作空间中执行命令:v=1;
                evalin('caller','v=1;');%在调用该函数的函数的工作空间中
                        执行命令:v=1;
        3、参数传递
        4、使用assignin:
                assignin('base','v',v); %将v赋给基本工作空间中的变量v;
                assignin('caller','v',v);  %将v赋给调用者工作空间中的变量v;
        inline函数里面只能出现函数和参数,要传递一个可变系数,需要用evalin。
        如:fzero('f(evalin(''base'',''x1(i)''),x3)',求解区间)

=================================== 
43).怎样在Simulink中调用m文件?
:hyphone,2002/7/6,SMTH/MathTools#

        函数m文件可以使用Function & Tables中的Fcn模块。如果有多个输入,
        用Mux组合成一个向量,然后在Fcn模块的Expression填
        MyFunction(u(1),u(2))"。如果有多个输出,用Demux分解成多个标量。


=================================== 
44).Matlab中怎样进行数制转换?
:hyphone,2002/7/6,SMTH/MathTools#
        
        参见:hex2dec,oct2dec,bin2dec,dec2bin,dec2oct,dec2hex.
        
=================================== 
45).matlab中的*.p是什么文件?怎么用? 
:#David Martin(dg.martin@home.deleteme.com), 2000/07/07,comp.soft-sys.matlab#

        p文件是pre-parsed的缩写,即matlab在第一次运行某m文件时,matlab把该
        文件先编译成一种matlab的pseudo-code,当你再次运行该m文件时,节省了
        parse的时间。

        p文件可以离开m文件单独运行

:#Mike Robbins (michael.robbins@us.cibc.com),2001/04/20,comp.soft-sys.matlab#

        在matlab中用pcode('yourfilename')来生成p文件

=================================== 
46).在Matlab中有goto语句吗? 
:#FangQ(Qianqian.Fang@dartmouth.edu), 2002/7/23. BigGreen/en_Matlab#

        matlab中没有提供goto,因为结构化程序设计不推荐使用goto,但在matlab
        中,goto的功能可以部分用结构化的异常处理机制来实现,比如从多重循环
        中跳出,具体代码为:

        try
           for i=1:10
             for j=1:10
                   for k=1:10
                      do_something;
                          if(jump_condition)
                             errorid=-2;
                             error('I want to get out!');
                          end
                    end
                  end
                end
        catch
            fprintf(1,'catch error:%d',errorid);
        end

=================================== 
47).请问matlab6.X的那个matlab server是做什么的?(matlab开机运行问题)
:#hairhead, 2002/4/3. SMTH/MathTools#

      如果你在安装matlab时选择了web server的话,在每次重新启动后系统
      进程中就会出现matlab/matlabserver两个进程,如果你不需要使用
      matlab webserver服务的话,建议在安装时不要选择web server,
      如果已经安装的话,可以在"控制面板->管理工具->服务"中找到
      matlab webserver,然后把它disable掉。

=================================== 
48).Matlab中如何用鼠标取得坐标?
:#FangQ(Qianqian.Fang@dartmouth.edu), 2002/11/19. BigGreen/en_Matlab#

      matlab中用ginput来取得图像上的一点。注意:image()/imagesc()对象
      的y轴是和一般图的y轴反的。

      如果复杂的话,可以在ButtonDownFcn中get(0,'PointerLocation')
      或者get(gcf,'Position');

=================================== 
49).Matlab中有阶乘函数吗?
:#FangQ(Qianqian.Fang@dartmouth.edu), 2002/7/23. BigGreen/en_Matlab#
    
      matlab没有提供直接的阶乘函数,但可以用prod(1:n)来求n!
      用prod(1:2:2n-1)或者prod(2:2:2n)来求解n!!

=================================== 
50)..怎样才能把Maltab学精?
:#energy(长白山), 2002/9/23. SMTH/MathTools#

      "带着问题学,活学活用,学用结合,急用先学,立竿见影,
       在'用'字上狠下功夫。"

=================================== 
51)..Matlab如何计算大阶乘?
:#lll, 2002/9/18. SMTH/MathTools#
    
      如果只需要大致的值,取log10,
      计算出result=log10(1000!)=log10(1)+log10(2)+...log10(1000)
      然后求10^result=10^result的小数部分*10^result的整数部分
    
     
=================================== 
52)..Matlab中怎样求变上限二重积分?
:#hyphone,2002/9/22, SMTH/MathTools #

        对于解析函数,用两次int即可。
        如求x+y在0[返回]
53)..用符号积分算出来Ei是什么意思,怎样求值?
:#hyphone,2002/9/22, SMTH/MathTools #

        Ei是maple中的指数积分函数,表示exp(-x*t)/t^n对t从1到正无穷大的积分。
        Ei(n,x) = int(exp(-x*t)/t^n, t=1..infinity)
        用命令“mhelp Ei”可以查看详细说明;用符号计算得到的不明白的函数都可以通过
        mhelp命令得到帮助。
        求Ei(1,2)可以用maple命令得到:str2num(maple('evalf(Ei(1,2))'))。
 
=================================== 
54)..Maltab中使用\n换行在notepad中显示为小黑块,为什么?(Randy Poe)
:#Randy Poe,2002/10/21,comp.soft-sys.matlab#
:#Peter J. Acklam(pjacklam@online.no),2002/6/26,comp.soft-sys.matlab#

        换行和回车是不同的,而且在不同的操作系统,解释也不相同。
        \n一般会操作系统被翻译成"行的结束",即LF(Line-Feed)
        \r会被翻译成"回车",即CR(Cariage-Return)
        对于文本文件的新行,在UNIX上,一般用\n(LF)来表示,Mac上用\r(CR)来表示,
        Windows上是用\n\r(CR-LF)来表示。
        
        所以在matlab中使用\n来写回车,在windows上打开会出现小方块。如果想
        避免这种情况,打开文件时使用t参数:
        
            fid = fopen('myfile.dat','wt');

=================================== 
55)..Matlab中能开多大数组?(Steven Lord)
:#Steven Lord (slord@mathworks.com),2002-10-22,comp.soft-sys.matlab#

        使用computer命令:
        [C,MAXSIZE] = computer
        
=================================== 
56)..如何使用整型矩阵来节省内存?(Duane Hanselman)
:#Duane Hanselman (masteringmatlab@yahoo.com),2002/10/22,comp.soft-sys.matlab#

        如下方法无需先生成一个double的数组,然后转换为int8
        
        >> rc=[3 4] % row and column sizes
        >> a(prod(rc))=int8(0) % example using int8
        >> class(a)  % they are all int8s
        >> reshape(a,rc) % make it the size you want
        
        同时也可以使用repmat来实现上述功能:
              

        >> repmat(int8(0),rc)


=================================== 
57).Matlab在P4芯片上无法启动的解决方案
:#FangQ(Qianqian.Fang@dartmouth),2002/11/10,SMTH/MathTools#

        如果不想安装补丁,只能使用matlab -nojvm的形式启动
        matlab,否则需要参照如下页面的解决方案来安装补丁:
        http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&oe=UTF-8&selm=
               NQ8a9.6835%24ob2.611653%40newsread1.prod.itd.earthlink.net
        http://www.mathworks.com/support/solutions/data/27293.shtml

=================================== 
58).如何求解对离散点的最优椭圆拟合?(Andrew Fitzgibbon, et al)
:#Authors: Andrew Fitzgibbon, Maurizio Pilu, Bob Fisher
"Direct Least Squares Fitting of Ellipses", IEEE T-PAMI, 1999#

        http://bbs.dartmouth.edu/~fangq/MATH/Source/fitellipse.m
        
=================================== 
59).Matlab/Mathematica中如何中断当前运算?(FangQ)
:#FangQ(Qianqian.Fang@dartmouth),2002/11/19,BigGreen/MathTools#

        Mathematica中使用:   Alt+./Alt+,
        Matlab中使用:        Ctrl+C
        
=================================== 
60)).Matlab/Mathematica中如何检查括号匹配?(FangQ)

:#FangQ(Qianqian.Fang@dartmouth.edu),2002/11/11,SMTH/MathTools#

        Mathematica中使用:   Ctrl+.
        Matlab editor中使用: Ctrl+B

=================================== 
61)..Matlab的GUI中为何无法使用uicontrol的句柄?(FangQ)
:#FangQ(Qianqian.Fang@dartmouth.edu),2002/11/11,SMTH/MathTools#

        如果你在执行GUI时出现"handles not defined"的错误时,
        打开GUIDE,把figure的HandleVisibility设置为on或者callback,
        则你可以在各个callback中直接使用handles,而不用声明global
        
        例如:
        
        dat=get(handles.figure1,'userdata');
        dat2=fliplr(dat);
        se(handles.edit1,'userdata');

=================================== 
62)..Matlab中如何把向量拓展成矩阵?(Zealous/FangQ)
:#Zealous/FangQ,2002/11/9,SMTH/MathTools#

        可以使用repmat(),例如:  repmat([1,2,3]',1,5)
        或者使用kron(),例如:      kron([1 2 3]',ones(1,5))
        
=================================== 
63)..Matlab的GUI中的按钮如何在运行时移动及改变大小?(FangQ) 
:#FangQ(Qianqian.Fang@dartmouth),2002/11/19,refer to comp.soft-sys.matlab#
        使用selectmoveresize函数,例如:
        
        figure
        h=uicontrol('style','pushbutton');
        set(h,'ButtonDownFcn',...
            'selectmoveresize;set(h,''selected'',''off'')',...
            'Enable','inactive')

=================================== 
64)..Matlab如何求解维数巨大的稀疏矩阵方程?(FangQ)
:#FangQ(Qianqian.Fang@dartmouth),2002/11/19,BigGreen/MathTools#

        Matlab提供了非常丰富的迭代型矩阵求解器,方法包括CG,BiCG,BiCGSTAB,
        CGS,GMRES,LSQR,MINRES,P-CG,QMR,SYMMLQ等,为了加快矩阵求解速度,还
        提供了两个Preconditioner函数:luinc(不完全LU分解),和cholinc(不完全
        Cholesky分解)。下面是一个使用GMRES求解方程Amat*x=rhs的一个简单例子:
        
        [L2,U2] = luinc(Amat,1e-3);
        tic
           x=gmres(Amat,rhs,[],1e-6,100,L2,U2);
        toc

        
>************************************************************************<
>                        第三节:Mathematica的常见问题
>************************************************************************<

=================================== 
1).Mathematica 可以定义变量为实数么?
:#FangQ(Qianqian.Fang@dartmouth.edu), 2002/6/22.BigGreen/en_Mathematica #

        1. 在Simplify/FullSimplify可以使用\[Element],如
                Simplify[Re[a+b*I],a\[Element]Reals]
        2. 可以使用ComplexExpand[]来展开表达式,默认:符号均为实数:
                Unprotect[Abs];
                Abs[x_] := Sqrt[Re[x]^2 + Im[x]^2];
                ComplexExpand[Abs[a + b*I], a]
        3. 使用/:,对符号关联相应的转换规则
                x /: Im[x] = 0;
                x /: Re[x] = x;
                y /: Im[y] = 0;
                y /: Re[y] = y;
                Re[x+y*I]



=================================== 
2).Mathematica中如何中断运算?
:#FangQ(Qianqian.Fang@dartmouth.edu), 2002/6/22.BigGreen/en_Mathematica#

        Alt+. 直接终止当前执行的运算 
        Alt+, 询问是否终止或者继续
        如果不能终止,用菜单Kernel\Quit Kernal\Local来退出当前运算


=================================== 
3).请高手推荐Mathematica参考书 
:#FangQ(Qianqian.Fang@dartmouth.edu), 2002/6/22.BigGreen/en_Mathematica#

        我迄今为止看到的最好的一本就是Mathematica自己带的帮助里面
        的The Mathematica Book,内容全面,

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -