MATLAB个人向常用

平常经常处理用matlab处理数据,但是函数名基本上一概记不住。写在OneNote里的,直接复制过来,比较偏个人向。

快捷键

ctrl+r 全部注释
ctrl+t 全部取消注释
ctrl+c 结束运行
Shift+Tab 向前缩进

数据处理

  • eval函数的功能是将字符串转换为matlab可执行语句
eval([varsname{i},'=ncread(dat_filename,varname);']);
%字符串内单引号由两个连续单引号表示
String='It''s not the manual!'
%输出结果为 String=It's not the manual!
  • 删除矩阵维度 y=squeeze(x) 比如由1x2x2变为2x2

  • 复制矩阵 repmat(a,m,n) 列复制n次,行复制m次

  • 时间转换
    datestr()
    datenum()

  • 数据转换
    在这里插入图片描述

  • 等差数列
    linspace(1,100,50) 即可得到1到100的50个等差数列

  • 矩阵交并
    C=intersect(A,B) 交集
    C=union(A,B) 并集

  • 矩阵翻转
    rot90(A,n) 逆时针旋转n*90°
    fliplr() 左右翻转
    flipud() 上下翻转
    reshape(A,x,y) 重新排列为x行y列的矩阵,以列排,不改变元素个数

  • 取整
    round——四舍五入到最近的整数,
    roundn(a,-n)——四舍五入保留n位小数
    ceil——朝正无穷方向取整
    floor——朝负无穷方向取整
    fix——朝零方向取整,

  • 取余
    rem(m,n); m除以n所得余数

  • 最值
    [value,location] = max(A,dim)
    [value,location] = min(A,dim)
    [a,b]=min(abs(A-B)); 找出A中最接近B的值和位置
    -矩阵排序
    sort(a,dim) 将矩阵dim维排序,sort(a,‘descend’),升序使用sort(a,‘ascend’),
    sortrows(a,n) 按a的第n列排序

  • 求解方程
    syms a b c y x
    [x,y]=solve([ax^2+by+c0,ax+2y4],[x,y])

  • 判断
    isnan() 判断是否为nan
    isempty() 判断是否为空

基础:matlab以列进行顺序存储

多个赋值
[a,b,c]=deal([]);

矩阵行列数
[m,n]=size(A);%m为行数,n为列数

矩阵平均
a=mean(A,1) %按列平均
b=mean(A,2) %按行平均
c=mean(A(😃) %全部平均

输出输入
输入语句input函数用于接收用户的输入:

a.输入数据
x=input('please input a number:')
b.输入字符串
x=input('please input a string:','s')

输出语句包括自由格式(disp)和格式化输出(fprintf)两种

disp(23+454-29*4)
disp('this is a string')
area=12.56637889;
fprintf('The area is %8.5f\n',area)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用 DecimalFormat 类来实现: ```java float num = 3.1415926f; DecimalFormat decimalFormat = new DecimalFormat("#.000"); String result = decimalFormat.format(num); float roundedNum = Float.parseFloat(result); System.out.println(roundedNum); // 输出 3.142 ``` 其,`"#.000"` 表示保留 3 位小数,并进行四舍五入。将浮点数格式化后得到的字符串,再转换回浮点数即可得到保留 3 位小数并四舍五入的结果。 ### 回答2: 在Java,我们可以使用`Math.round()`方法来实现对float类型的数进行四舍五入并保留指定位数的小数。 首先,我们需要将float类型的数乘以一个指定的倍数,这样可以将小数位转换为整数位。然后,使用`Math.round()`方法对乘以倍数后的数进行四舍五入。最后,再将得到的结果除以倍数,将整数位转换回小数位。 下面是一个示例代码: ```java public class Main { public static void main(String[] args) { float num = 3.14159f; // 需要进行四舍五入的数 // 将小数位转换为整数位,并进行四舍五入 int temp = Math.round(num * 1000); // 将整数位转换回小数位,并保留3位小数 float result = ((float) temp) / 1000; System.out.println(result); // 输出结果为3.142 } } ``` 在上述代码,我们将需要进行四舍五入的数`num`乘以1000,将小数位移动三位,然后使用`Math.round()`方法对乘以1000后的数进行四舍五入得到`temp`。最后,再将`temp`除以1000,将整数位转换回小数位,得到保留三位小数的结果`result`。 需要注意的是,由于浮点数的精度问题,在进行浮点数的四舍五入操作时可能会出现一些误差。如果要保证精确的四舍五入,建议使用`BigDecimal`类进行计算。 ### 回答3: 在Java对float类型数据进行四舍五入保留3位小数可以使用DecimalFormat类。 首先导入DecimalFormat类: import java.text.DecimalFormat; 然后创建一个DecimalFormat对象,并设置保留3位小数的格式: DecimalFormat df = new DecimalFormat("#.###"); 接下来,我们可以使用format方法将float类型数据按照指定的格式进行四舍五入保留3位小数: float num = 12.3456f; String result = df.format(num); 最后,使用System.out.println输出结果: System.out.println(result); 运行代码,结果将会是12.346。 这是因为DecimalFormat会根据给定的格式对数值进行四舍五入。在本例,使用"#"表示保留数字,而"###"表示保留3位小数。如果想要保留更多或更少的小数位数,只需要修改格式即可。注意,此处的保留小数位数是对结果进行四舍五入,而不是对传入的float类型数据本身进行四舍五入。 这样,我们就实现了对float类型数据进行四舍五入保留3位小数的操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值