网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
08月03日漏签0天
matlab吧 关注:291,869贴子:1,658,434
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 2回复贴,共1页
<<返回matlab吧
>0< 加载中...

求解释一个关于返回值的意思

  • 只看楼主
  • 收藏

  • 回复
  • 猫猫说它拒绝减肥
  • 初涉江湖
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
老板要求把matlab的改成java,可我对matlab是一点儿都不懂
大部分内容都可以搜索引擎查明白,但是有部分实在不知道怎么描述
求各位大佬帮我解释一下
部分代码大概是
文件1:
a = zeros(1,10000);
b = 由一个随机数组成的数组
c = ( b == 1)
[a(c),~] = fun();
文件2:
function [a, m, n] = fun()
我不太理解的是[a(c),~] = fun();
中 a(c)是什么意思,
~ 我觉得是不管其他的返回值的意思
用a(c) 接收对应原本a的返回值,
是表示只把文件1中的a矩阵,按照c的数值,把每一个a(c)都赋值为文件2中对应位置的数值吗?
大概
for(i <- c){
a(i) = fun 返回的a(i)
}
这样?


  • 银发萝莉火锅鱼
  • 初涉江湖
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
Chatgpt的回答:
在MATLAB中,表达式 "a(c) "被称为逻辑索引法。它只选择数组 "a "中与数组 "c "中的逻辑值相对应的元素,从而创建一个新的数组。
在这种情况下,"c "是一个逻辑值数组,它是通过将数组 "b "与标量值1相比较而创建。其结果是一个与 "b "相同大小的数组,其中每个元素是真还是假,取决于 "b "中的相应元素是否等于1。
所以,"a(c) "只选择数组 "a "中对应元素为 "c "的元素。这意味着代码只用函数 "fun "的输出来更新 "a "中元素的一个子集。
代码中的tilde字符"~"意味着函数 "fun "的第二个输出参数被忽略了。函数 "fun "返回两个输出参数,但代码只对第一个参数感兴趣,它被分配给 "a(c) "的元素。第二个输出参数通过使用tilde字符被忽略了。


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 2回复贴,共1页
<<返回matlab吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示