为了账号安全,请及时绑定邮箱和手机立即绑定

编程中遇到的一些问题,求解释!

编程中遇到的一些问题,求解释!

回首忆惘然 2022-11-21 16:12:47

1):bounds=[-1;1]'什么意思?
2):(bounds(:,2)-bound(:,1))'又是什么意思?
3):单引号是转置的意思吗?
4):通过多个输入,返回一个1行n列的矩阵的函数的写法是这样的吗?:
function[f[1,n]]=bgg(x,y,z,o,p)
5):方括号与圆括号的区别有哪些?

查看完整描述

2 回答

?
慕雪6442864

TA贡献1517条经验 获得超5个赞

1、bounds=[-1;1]'得到的其实就是一个行向量[-1 1],你可以把它复制来运行一下就行了;单引号就是转置的意思,因为“;”表示“-1”和“1”是处于两行的,转置一下就回来了。
2、(bounds(:,2)-bound(:,1))是说“bounds”这个二维数组的第二列元素减去第一列元素。
3、不是。你这样就行了:
function S=bgg(x,y,z,o,p)
。。。
S(i)= ;或者直接S= ;
就是说你把函数中的变量,不管是向量还是矩阵,直接放在返回值处就行。甚至
m=3;S=[1 5 9 4];你想二者都返回,那么function [m,S]=bgg(x,y,z,o,p),并且主函数这样[m,S]=bgg(x,y,z,o,p),接收就行了。
4、方括号主要是把向量或矩阵的值罗列出来等功能,小括号一是表示运算优先级,二是作为引用元素的角标,三是包含函数的输入参数。

查看完整回答
反对 回复 2022-11-24
?
慕虎7371278

TA贡献1514条经验 获得超4个赞

1).在MATLAB中'是表示转置,[-1;1]得到的是一个列向量,所以bounds=[-1;1]'得到的就是一个行向量[-1 1];

2).与1同理,首先bounds(:,2)表示的是bounds的第二列,在此:是表示所有的行,所以bounds(:,2)-bound(:,1)是bounds的第二列减去第一列,加'号转置后是表示将得到的一列在变成行向量;

3).当然,上面也说了;

4).这问就要注意了,要用function f=bgg(x,y,z,o,p),返回的f就可以是矩阵了;要注意在MATLAB中不管要求的返回值是向量还是矩阵,直接放在返回值处就行,1个返回值就用上面的形式,两个就用function [m,n]=bgg(x,y,z,o,p)的形式,3个同理了;

5).方括号主要是把向量或矩阵的值罗列出来,比如[1:2:6]就表示向量[1,3,5];小括号一是表示运算优先级,二是作为引用元素的角标,比如a(1)表示a的第1个元素,a(:,4)表示a的第4列元素,a(1,:)表示a的第一行元素,三是包含函数的输入参数,比如你上面的bgg(x,y,z,o,p)就是这个用法;

 


查看完整回答
反对 回复 2022-11-24

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信