程序如下:
function stockCodeSort=SelectStock(structData,PosiData,ShareData,AlfaSt,BetaSt,CorrSt,StdevSt,TrackSt,NumSt)
[NumOfTradeSec,NumOfStockSec]=size(ShareData)
NumOfPositionSec=length(PosiData)
for i=1:NumOfPositionSec
k=1
for j=1:NumOfStockSec
if structData(i).alfa(j)>=AlfaSt(1)&structData(i).alfa(j)<=AlfaSt(2) ...
&structData(i).beta(j)>=BetaSt(1)&structData(i).beta(j)<=BetaSt(2) ...
&structData(i).correlation(j)>=CorrSt(1)&structData(i).correlation(j)<=CorrSt(2) ...
&structData(i).stdev(j)>=StdevSt(1)&structData(i).stdev(j)<=StdevSt(2) ...
&structData(i).TrackError(j)>=TrackSt(1)&structData(i).TrackError(j)<=TrackSt(2);
stockCode(i).num(k)=j
stockCode(i).alfa(k)=structData(i).alfa(j)
k=k+1
end
end
if length(stockCode(i).num)<NumSt(1)
flagOfStock(i)=0
else
flagOfStock(i)=1
end
end
for i=1:NumOfPositionSec
midVoid=sort(stockCode(i).alfa, 'descend') %不重复的从大到小排序
if flagOfStock(i)==1
for j=1:min(NumSt(2),length(stockCode(i).num))
k=find(stockCode(i).alfa==midVoid(j))
stockCodeSort(i).num(j)=stockCode(i).num(k)
stockCodeSort(i).alfa(j)=stockCode(i).alfa(k)
%stockCodeSort(i).weight(j)=structData(i).alfa(j)/structData(i).stdev(j)
end
%stockCodeSort(i).weight(j)=stockCodeSort(i).weight(j)/sum(stockCodeSort(i))
end
end
显示错误如下:
??? Undefined variable "stockCode" or class "stockCode".
Error in ==> SelectStock at 17
if length(stockCode(i).num)<NumSt(1)
Error in ==> main at 13
stockCodeSort=SelectStock(structData,PosiData,ShareData,AlfaSt,BetaSt,CorrSt,StdevSt,TrackSt,NumSt)
但是结构数组不需要定义呀,不知道是怎么回事情,这个问题老是调试不通,求高人指点
matlab显示参数未定义
(1)首先你这个是一个函数,外面调用的时候,具体参数给的多少我并不知道。就是诸如structData,PosiData,具体是什么我并不知道,无法确切给出答案。(2)但是根据报错信息,我推断,是这段程序没执行到:for j=1:NumOfStockSec 。。。end MATLAB中的“不需要定义”,仅限于赋值语句。例如"a=1"...
matlabgui中未定义函数或变量怎么办?
在 MATLAB GUI 中遭遇 "未定义函数或变量" 错误时,首先需确认该函数或变量是否已在代码中进行定义。这包括在 GUI 的创建函数(如 `open` 或 `create`)或在用于控制 GUI 功能的回调函数中定义。确保所有需要的函数和变量在使用前都已正确创建和初始化。检查搜索路径同样至关重要。使用 `which` 命...
matlab仿真明明定义的参数 仿真时说未定义
您好,(1)首先你这个是一个函数,外面调用的时候,具体参数给的多少我并不知道。就是诸如structData,PosiData,具体是什么我并不知道,无法确切给出答案。(2)但是根据报错信息,我推断,是这段程序没执行到:for j=1:NumOfStockSec 。。。end MATLAB中的“不需要定义”,仅限于赋值语句。例如"a...
在MATLAB中调用子函数为什么说输入的参数未定义?
出错应该是在这一行[C,S]=wavedec2(x,n,wname); %对图像小波分解 你可以把出入参数x先赋值给一个变量,在执行这一句代码
Matlab 为什么未定义函数或变量 急求!!!
matlab提示未定义函数或变量的解决办法:1、首先需要知道matlab中查2113看数据类型函数是class,可以先在命令行窗口中help class。2、在5261命令行窗口中输入“4102a=123 class(a)”。3、按回车1653键可以看到变量a的类型是double类型。4、输入“b='1234' class(b)”。5、按回车键之后,可以看到变量b...
matlab未定义函数或变量'var'如何解决?
这个问题通常是由于MATLAB路径设置不正确或者缺少必要的工具箱或脚本导致的。以下是一些可能的解决方法:1. 首先,确认是否正确安装了神经网络工具箱。如果没有安装,请下载并安装该工具箱。2. 如果已经安装了该工具箱,请确保正确添加了工具箱的路径。可以通过在MATLAB命令窗口中输入`addpath('path\/to\/tool...
matlab显示未定义变量
matlab中变量未定义:在命令窗口中输入的时候要调用函数qpsk_evm(s),其中输入前,首先定义一下s,如:赋值s = 1:10,这样再调用qpsk_evm(s),就不会出现如此问题了!就是如果给一个变量赋值,而且是在if语句内,也就是说,要满足一个条件才能改这一变量赋值,而如果运行时输入的数据不满足,...
我在MATLAB中运行下面的程序, 提示未定义函数或变量"wavread" 这是为什 ...
一般提示这个就是那个变量或者函数没有定义。如果你是从其它人那里随便考过来的代码片段,这种现象就很常见,需要找到那个人把代码考全才行。有可能是一个文件没拷全,也有可能是原来是好几个相互依赖的文件都要拷过来。必须要定义,定义之后才可以使用。如下面的例子,未定义就会出错。符号变量定义方法。
MATLAB 未定义函数或变量怎么解决
1、首先在电脑中,打开matlab找到主页,如下图所示。2、然后在页面上方的选项中,找到预设,点击预设,弹出预设框。3、接着在打开的预设窗口中,找到颜色项,如下图所示。4、点击,找到下方的编程工具,如下图所示。5、这时在打开的右侧中,可以看到变量和函数的颜色选项。5、然后点击色块可以选择不同...
matlab提示未定义函数或变量
matlab提示未定义函数或变量的解决办法:1、首先需要知道matlab中查2113看数据类型函数是class,可以先在命令行窗口中help class。2、在5261命令行窗口中输入“4102a=123 class(a)”。3、按回车1653键可以看到变量a的类型是double类型。4、输入“b='1234' class(b)”。5、按回车键之后,可以看到变量b...