Matlab子程序: 判断输入类型,将输入转换成数字型输出

本文介绍了如何在Matlab中编写子程序input2num,用于判断输入类型并将其转换为数字,同时处理无法转换的情况。程序应用于处理如TEUD布宽度等输入的转换,避免因字符型输入导致的错误。
摘要由CSDN通过智能技术生成

背景:编程过程中,经常需要将输入转换成数字型,转换前必须对输入进行判断。输入可能为空,字符型,数字型,字符型有肯能无法转换成数字。针对以上情况,编制一个子程序进行判断,输出结果。

1、子程序 input2num

function [output, error_code] = input2num(input)
% 程序功能: 对输入进行判断,给出对应的错误代码,如果没有错误,则输出对应的数字型结果
% output: 程序输出,double类型
% error_code: 输入数据错误代码, =1 代表没有输入(NaN); =2 代表字符型输入,但无法转成数字;=0, 输入无错误
% input: 可能的输入包括: NaN, char, double
output = [];
error_code = 0;
if isnan(input) % 检测是否有输入
    error_code = 1;
elseif ischar(input)
    if isempty(str2num(input)) % 如果输入的字符转换后不是数字
        error_code = 2;
    else
        output = str2num(input); % 如果输入的是字符且可以转换为数字
    end    
else % 如果输入是数字型
    output = input;
end

2、子程序应用

程序应用案例: 对TEUD布宽度输入进行转换,如果不小心输成‘23o’,报错见图片所示。

<
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值