函数定义时,多加一个参数m
function y=testf(t,x,m)
a=08;m = 001;b=01;
y=[-ax(1)x(2)+mx(2)-bx(1),ax(1)x(2)-bx(2)-mx(2),bx(1)+bx(2)]';
执行部分
ts=0:01:50;
x0=[098,002,000];
mm=1:01:50; %不同的m取值,根据需要自己改
result=zeros(length(ts),length(m));
for i=1:length(mm)
m=mm(i);
[t,x]=ode45(@(t,x) testf(t,y,m),ts,x0);
result(:,i)=x(:,2);
end
imagesc(mm,ts,result);%画二维图
总体思路:设定筛选条件,将数组中符合条件的元素筛选出来(可以筛选出元素值也可以筛选出元素对应的下标),然后将元素值赋值给另外一个数组的元素
参考代码:
clcclear all
close all
x = randi(10, 1, 5); % 原始数据
disp('x=');
disp(x);
y1 = -1 ones(1, length(x)); % 存储筛选出的结果,并初始化成不可能出现的结果
%-- 筛选符合条件的元素下标,并将对应元素存到y1 --%
ix = find(x>=3); % 例如,筛选出原始数据中大于3的元素的下标
if(isempty(ix))
disp('x的元素均不符合条件');
else
y1(1:length(ix)) = x(ix); % 将符合条件的元素存到y1中
y1( find(y1==-1) ) = []; % 剩余元素删除
disp('y1=');
disp(y1);
end
%----------------------------------------------%
y2 = -1 ones(1, length(x)); % 存储筛选出的结果,并初始化成不可能出现的结果
%-- 筛选符合条件的元素值,并存入y2 --%
for i=1:length(x)
if(x(i)>=3) % 逐个检测x的元素是否符合条件,把符合条件的元素值赋值给y2
y2(i) = x(i);
end
end
y2( find(y2==-1) ) = []; % 剩余元素删除
disp('y2=');
disp(y2);
%----------------------------------%
输出结果
x=
7 1 9 10 7
y1=
7 9 10 7
y2=
7 9 10 7
问题1:想在button2_click事件调用m函数,如何使用button1_click事件中的变量arr?
使用一个全局变量保存arr。
// 问题1:没有声明arr?请问哪里不对呀?我已经将butoon1_click定义为public了呀
public是指方法是public,不是里面的变量都是public
//问题2:如何去掉每行末尾的\r 然后 将arr转成 4列的数组[1 32 53 54]
使用正则表达式去掉换行符,如下:
string content=@"aaa
bbb";
content = RegexReplace(content, "\r","");
至于转换数组,你本身不就是string数组吗?
这句话的意思是imhist这个函数的参数要是double,整型等,而不是楼主所写的字符串。。。
所以楼主想要计算图像的直方图必须先用一个变量存起来,例如
X=imread('路径\文件名tif');
%接着再计算直方图
cchisteq(X);
在c/c++中,可以使用函数指针来实现,在matlab中,使用函数句柄这时类似于函数指针的一项功能例如:
自定义一个函数如下,这个myfunm函数是将要当做参数用的
function f=myfun(x)
f=x^2;
你知道这个m文件要放在哪里才能调用是吧下面这个函数的参数就是函数:
function g=fun(f)
g=f(2)+f(3);
然后我在命令窗口输入如下,出现结果:
>> f2=@myfun;
>> fun(f2)
ans =
13
function calculate_Callback(hObject, eventdata, handles)
x=str2double(get(handlesplus1,'string'));
y=str2double(get(handlesplus2,'string'));
z=x+y;
加上
hadnlesz = z;
guidata(hObject,handles);
在function result_callback(hObject, eventdata, handles)
中:z = handlesz;
set(hObject,'string',num2str(z));
按钮callback
str = get(handlesedit_result,'string');
y = str2func(str);
plot(x,y,handlesaxes1);
在gui的toolbar中添加dataCurse,即可实时获得坐标轴上得点的坐标
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)