matlab中double函数的用法

for p =1:6
u=u+bm(p)*(t/1000)^p+u;%p47表2.1.2,bm后为何加p????????????

在MATLAB中,double函数用于将变量或数组转换为双精度浮点数类型。其语法格式为:

B = double(A)

其中A为待转换的变量或数组,B为转换后的双精度浮点数类型的变量或数组。

使用double函数可以将其他数据类型(如int8、int16、int32、single等)转换为双精度浮点数类型。例如,可以将一个int32类型的数组转换为双精度浮点数类型的数组,如下所示:

A = int32([1 2 3; 4 5 6]);
B = double(A);

执行上述代码后,B将会是一个双精度浮点数类型的数组,其值为:

1 4
2 5
3 6

需要注意的是,在转换时可能会发生数据精度的丢失,因为双精度浮点数类型相对于其他数据类型来说,其存储精度更高。因此,在进行数据转换前,需要考虑数据精度是否会影响运算结果。

此外,如果变量或数组本身就是双精度浮点数类型,则使用double函数进行转换并不会改变其类型和值。

  • 这篇文章:matlab错误处理 也许有你想要的答案,你可以看看
  • 同时,你还可以查看手册:matlab 双精度数组 double 中的内容
  • 除此之外, 这篇博客: matlab绘图实验作业中的 2 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 在这里插入图片描述

    
    %%
    clc; clear;
    % 2. 使用plot,fplot(绘制表达式或函数)
    x = linspace(-1,1, 100);
    y = cos(tan(x*pi));
    plot(x, y);
    
    %%
    fplot(@(x)cos(tan(x*pi)), [-1 1]);
    
    

    在这里插入图片描述
    在这里插入图片描述