回 帖 发 新 帖 刷新版面

主题:matlab中如何在函数文件中调用脚本文件的变量

1.脚本文件lxl422.m如下:
clc
clear
global xrt
global k1
global b1
%call for the spatial displacement data of the upper side
load aa.txt
%call for the spatial displacement data of the lower side
load bb.txt

% % % % % % % % % % % % % % % % % % % the upper side
x1=aa(:,1)+aa(:,2);   %x-direction coordinate
y1=180+aa(:,3);       %y-direction coordinate
plot(x1,y1,'*r')
hold on

xx=[1:1:1150];
y11=polyfit(x1,y1,9); % 9 polynomial fitting arithmetic
y111=polyval(y11,xx);
plot(xx,y111,'-r')
hold on

yy=spline(x1,y1);%计算上边线的样条函数,应该是只有样条函数才可以求导
dyy=fnder(yy);   %求导

% % % % % % % % % % % % % % % % % % % the lower side
%下面程序目的是得到下边线的曲线拟合方程
x2=bb(:,1)+bb(:,2);
y2=0+bb(:,3);
plot(x2,y2,'*b')
hold on

%拟合命令
xx=[1:1:1300];
y22=polyfit(x2,y2,9);
y222=polyval(y22,xx);
plot(xx,y222,'-b')
%得到下边线曲线方程
yy=y22(1,1)*xx.^9+y22(1,2)*xx.^8+y22(1,3)*xx.^7+y22(1,4)*xx.^6+y22(1,5)*xx.^5+y22(1,6)*xx.^4+y22(1,7)*xx.^3+y22(1,8)*xx.^2+y22(1,9)*xx.^1+y22(1,10)*xx.^0;
plot(xx,yy,'-b')
hold on

%得到上边线某点xy坐标
for u=1:50:1151
    u
    v=polyval(y11,u)
    
    k=ppval(dyy,u);  %切线
    b=v-k*u;
    y=k*xx+b;
    plot(xx,y,'-b');
    hold on
    
    k1=-1/k          %垂线
    b1=v-k1*u
    xx=[1:1:1300];
    y1=k1*xx+b1;
    plot(xx,yy,'-b');
    hold on
    
    run('bb');
    xrt

    y222=polyval(y22,xrt);        %此处的xrt是通过bb程序执行得到。
    d=sqrt((u-xrt)^2+(v-y222)^2)     %(u,v是上面线某点;(xrt,y222)是垂线与下边线交点)
end

2.另一脚本文件bb.m如下:
global xrt
global k1 
global b1
%本程序目的是计算垂线和下边线的交点
xx=[1:1:1150];
xrt=fzero(@myfun,0)

3.函数文件myfun.m如下:

function f=myfun(xx)
global k1 
global b1 

y1=k1*xx+b1;  %这个是垂线,通过aa程序得到垂线的斜率和b值

load bb.txt
x2=bb(:,1)+bb(:,2);
y2=0+bb(:,3);
y22=polyfit(x2,y2,9);
yy=y22(1,1)*xx.^9+y22(1,2)*xx.^8+y22(1,3)*xx.^7+y22(1,4)*xx.^6+y22(1,5)*xx.^5+y22(1,6)*xx.^4+y22(1,7)*xx.^3+y22(1,8)*xx.^2+y22(1,9)*xx.^1+y22(1,10)*xx.^0;
%上面这个函数是对下边拟合的多项式曲线
f=y1-yy;
end

运行结果如下:
......(省略一些重复的东西)

xrt =

     []


d =

     []
我觉得得到这样的结果的原因应该是:函数文件myfun.m中的k1和b1无法调用脚本文件lxl422.m中的k1和b1值,那么请问函数文件该怎样调用脚本文件中的变量呢??望高手们出手相助!不胜感激!!

回复列表 (共1个回复)

沙发

看帖回帖好习惯

















[url=http://www.sc115.com/vector]矢量素材[/url],[url=http://www.sc115.com/PPT]PPT模板[/url],[url=http://www.sc115.com]素材中国[/url]

我来回复

您尚未登录,请登录后再回复。点此登录或注册