MATLAB 返回数据类型函数

来源:百度知道 编辑:UC知道 时间:2024/05/14 12:29:11
比如我 a = 1.1; b = 1; c = char; ...
怎样返回他们的数据类型 因为我想把它们作为函数输入参数,我想通过判断它们的数据类型来检测用户是否输入了正确的数据类型,多谢各位,一点分数不成敬意!
??? 我的问题不符合逻辑吗? 可能没有这样的函数吧,我是初学者,各位大虾也可以帮我找个方法来分析我它们作为输入参数时,怎样来判断所输入数据类型是否正确,即:a应该为double,b是什么。。。 c应该为char型,谢谢!!

总体思路:设定筛选条件,将数组中符合条件的元素筛选出来(可以筛选出元素值也可以筛选出元素对应的下标),然后将元素值赋值给另外一个数组的元素

参考代码:

clc
clear 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);
%-------------