我已经包含了此问题解决方案图片的链接。 http://imgur.com/gallery/EXVaxEc/new
有人可以解释第一行代码中的内容C=char(100*ones(4,5))
我理解我们通过这样做预先分配了一个矩阵,但我不明白我们为什么要包括100*ones
。为什么不用char(4,5)
正确分配矩阵,从而预先分配一个m4x5矩阵,其中字符串作为输入,而不是双倍?
非常感谢 - 我是编程和学习MATLAB的全新第一语言和平台。
答案 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函数采用整数数组/矩阵转换为字符矩阵。