MATLAB中定义函数在命令行使用总是出现“尝试将SCRIPT .... 作为函数执行”

这是我写的函数
fuction [g1 g2]=discrim(mu1,sig1,mu2,sig2)
syms x1 x2 real;
syms g1 g2 c G(x1,x2);
x=[x1;x2];
g1=(-1/2)*(x')/sig1*x+((inv(sig1))'*mu1)'*x+(-1/2).*(mu1')/sig1*mu1-log(det(sig1))/2+c;
g2=(-1/2)*(x')/sig2*x+((inv(sig2))'*mu2)'*x+(-1/2).*(mu2')/sig2*mu2-log(det(sig2))/2+c;
求问哪不对?
已发现问题,function漏写了一个n。。。。

    将XXX.m文件更名即可(如更名为XXX1.m)。

    MATLAB之前为什么可以无视XXX.m文件而直接编译源文件,现在却不行了呢?需要怎么样的什么环境设置/搜索路径或者其他设置呢?某种情况下重装MATLAB也可以解决这个问题,那么就是说初始环境设置/搜索路径是正确的;即会有一些无关乎MATLAB软件的设置及操作会改变MATLAB的某些设置,又或者MATLAB的某些编译路径是公共路径,很多软件都可以重新设置。

    为了MATLAB能运行C++编译的程序,我需要安装SDK;为了安装SDK,我安装了VS2013;为了安装VS2013,我升级了Windows7到sp1.等到一切搞定,终于可以用MATLAB调用C++的代码后,miscrosoft office2013不能用了;修复完offic2013后,再次调用程序,MATLAB弹出‘尝试将script XXX.m作为函数执行’。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-10-29
第一行fuction [g1 g2]=discrim(mu1,sig1,mu2,sig2)
是function,不是fuction。写正确之后是蓝色的
第2个回答  2014-10-29
function [g1 g2]=discrim(mu1,sig1,mu2,sig2)
fuction写错了,改为function就好了。本回答被网友采纳
相似回答