matlab function错误

clc
clear
a5 = 15; %区域上限值,可以根据数据库给出具体值
b5 = 20; %区域下限值,可以根据数据库给出具体值
x5 = 8 ; %x已知,可以根据数据库给出具体值
z5 = 10; %z已知,可以根据数据库给出具体值
function [P5,Q5] = contact5(s)
P5 = s.^2+3*s+2; %P是关于 s的函数表达式
Q5 = 2*s+1; %Q是关于 s的函数表达式
Sigma_x5 = -2*5/pi.*int(P5.*(x5-s).^2./((x5-s).^2+z5.^2).^2,s,-b5,a5)-2/pi.*int(Q5.*(x5-s).^3./((x5-s).^2+z5.^2).^2,s,-b5,a5)
Sigma_z5 = -2*z5^3/pi.*int(P5./((x5-s).^2+z5.^2).^2,s,-b5,a5)-2*z5^2/pi.*int(Q5.*(x-s)./((x5-s).^2+z5.^2).^2,s,-b5,a5)
tau_xz5 = -2*z5^2/pi.*int(P5.*(x5-s)./((x5-s).^2+z5.^2).^2,s,-b5,a5)-2*z5./pi*int(Q5.*(x5-s).^2./((x5-s).^2+z5.^2).^2,s,-b5,a5)

哪位大大能帮我看看这段代码,我要做的是定义P5 Q5为s变量的函数,然后把P5和Q5放到 Sigma_x里面求导算出Sigma_x的值,请问我该怎么编啊
然后我老出现

??? Error: File: d:\MATLAB7\work\contact5.m Line: 7 Column: 1
Function definitions are not permitted at the prompt or in scripts.
的错误,把我郁闷的,我在M文件里写的这段代码,请问哪不对了。
可能有些大大不明白什么意思,我再说1遍,我要做的结果是,对于给定的X5和Z5的值,通过PQ关于S的函数,然后用上面有积分的式子最终求得Sigma_x和Sigma_z和tau_xz的值,哪位大大帮我看看,好的话我有追加分100.

第1个回答  2009-05-15
根据这个错误提示是说
??? Error: File: d:\MATLAB7\work\contact5.m Line: 7 Column: 1
Function definitions are not permitted at the prompt or in scripts.
M函数是不允许在脚本文件中定义的,你把函数定义的那部分从主程序中剪切出来,重新建立一个M文件,以function [P5,Q5] = contact5(s)为第一行,保存,系统会默认以contact5为文件名,然后可以在主程序中用[P5,Q5] = contact5(s)这个语句调用这个函数。如此便可顺利运行了
相似回答