有人可以解释这行MATLAB代码吗?

时间:2015-02-20 17:49:36

标签: matlab matrix

我已经包含了此问题解决方案图片的链接。 http://imgur.com/gallery/EXVaxEc/new  有人可以解释第一行代码中的内容C=char(100*ones(4,5))我理解我们通过这样做预先分配了一个矩阵,但我不明白我们为什么要包括100*ones。为什么不用char(4,5)正确分配矩阵,从而预先分配一个m4x5矩阵,其中字符串作为输入,而不是双倍?

非常感谢 - 我是编程和学习MATLAB的全新第一语言和平台。

2 个答案:

答案 0 :(得分:1)

1)创建4×5矩阵 2)乘以100,从而产生4x5矩阵的100s
3)char()将其转换为ASCII码为100的字符矩阵(即' d')。
结果是4x5矩阵的

答案 1 :(得分:0)

以下是C=char(100*ones(4,5))的步骤。

1)创建一个4 x 5的矩阵。

2)然后将该矩阵乘以100。

3)然后在步骤2中从结果矩阵生成字符矩阵。char函数将整数转换为它们各自的ASCII字符。请查看ascii table。前几个字符是非字母字符,因此作者想要用d初始化字符矩阵,即(100 * 1),即ascii中的d

你不能char(4,5)因为char函数采用整数数组/矩阵转换为字符矩阵。