首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Matlab错误:下标索引必须是实数正整数或逻辑

Matlab错误:下标索引必须是实数正整数或逻辑
EN

Stack Overflow用户
提问于 2013-01-14 22:20:34
回答 2查看 4.5K关注 0票数 0

我在MATLAB中有以下错误:

???下标指数必须是实数正整数或逻辑值。 ==> Lloyd_Max在74D(W_count)=平均(x-心(Xq).^2)处的误差;

这是我的密码:

代码语言:javascript
运行
AI代码解释
复制
function [ xq,centers,D ] = Lloyd_Max( x,N,min_value,max_value )
%LLOYD_MAX Summary of this function goes here
%   Detailed explanation goes here

x = x';

temp = (max_value - min_value)/2^N;

count=1;
for j=0:temp:((max_value - min_value)-temp),
   centers(count) = (j + j + temp )/2;
   count = count + 1;
end

for i=1:length(centers),
   k(i) = centers(i); 
end


w_count = 0;

while((w_count < 2) || (D(w_count) - D(w_count - 1) > 1e-6))

    w_count = w_count + 1;

    count1 = 2;
    for i=2:(count-1),
       T(i) = (k(i-1) + k(i))/2;
       count1 = count1 +1 ;
    end

    T(1) = min_value;
    T(count1) = max_value; 

    index = 1;
    for j=2:count1,
        tempc = 0;
        tempk = 0;
        for k=1:10000,
            if(x(k) >= T(j-1) && x(k) < T(j))
                tempk = tempk + x(k);
                tempc = tempc + 1; 
            end
        end
        k(index) = tempk;
        k_count(index) = tempc;
        index = index + 1;
    end

    for i=1:length(k),
        k(i) = k(i)/k_count(i);
    end

    for i=1:10000,
        if (x(i) > max_value)
            xq(i) = max_value;
        elseif (x(i) < min_value)
            xq(i) = min_value;
        else
            xq(i) = x(i);
        end
    end

    for i=1:10000,
        cnt = 1;
        for l=2:count1,
           if(xq(i) > T(l-1) && xq(i) <= T(l))
               xq(i) = cnt;
           end
           cnt = cnt +1 ;
        end
    end

   D(w_count) = mean((x - centers(xq)).^2);

end



end

我称之为它,并有这些投入:

代码语言:javascript
运行
AI代码解释
复制
M = 10000
t=(randn(M,1)+sqrt(-1)*randn(M,1))./sqrt(2);
A= abs(t).^2;
[xq,centers,D] = Lloyd_Max( A,2,0,4 );

结果: xq和中心均正常,xq在1-4范围,中心1-4指数,0.5~3.5范围。

我不知道哪里出了问题,here...Please帮助我。

提前感谢!

神秘的SOVLED!

谢谢大家的帮助!我刚刚退出了while for循环:

代码语言:javascript
运行
AI代码解释
复制
for i=1:10000,
        if (x(i) > max_value)
            xq(i) = max_value;
        elseif (x(i) < min_value)
            xq(i) = min_value;
        else
            xq(i) = x(i);
        end
    end

而且很有魅力..。此循环再次初始化数组。很抱歉。再次感谢您!

EN

回答 2

Stack Overflow用户

发布于 2013-01-14 22:57:27

函数的中间有一个赋值xq(i) = x(i),但是从外部将A传递为x,从由randn抽样的t中计算A,因此不能保证xq是整数。

票数 1
EN

Stack Overflow用户

发布于 2013-01-14 22:30:28

我不知道你的目标是什么,但是你的向量xq不包含整数,它包含双数。如果要像使用centers(xq)那样使用索引向量,则向量的所有元素都必须是整数。

只要稍微检查一下,就会发现xq是x值,您应该找到一些方法将它们映射到它们所属的最接近的单元格的整数(我猜‘心’代表单元格的中心?)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14332148

复制
相关文章
Dubbo 3.0 即将到来
据了解,新的 Dubbo 内核与 Dubbo 2.0 完全不同,但它兼容 2.0。Dubbo 3.0 将以 Streaming 为内核,而不再是 2.0 时代的 RPC,但是 RPC 会在 3.0 中变成远程 Streaming 对接的一种可选形态。梁飞给出了一个内核接口:Streaming docking(Streaming),他说一切服务治理将围绕这个内核接口进行扩展。而 Streaming 通道与 gRPC 类似,支持 HTTP/2,同时 REST 接口也会受到一等公民支持,但是梁飞也表示此次在通讯上的改动并不大,重点是在服务治理和编程模型上。
高广超
2018/12/12
4910
即将到来的Powershell 2
在即将发布的Windows 7和其服务器产品Windows Server 2008 R2将内置PowerShell 2.0版本的解析器。与此同时,Windows 7还内置了一个PowerShell的IDE编程环境,这样再也不用在写字板里面费力的编写和调试PS代码了。这对于系统管理员来说是一个福音,企业级产品中,比如一次要管理十台或百台计算机或不关机的服务器会出现问题,微软提供的PowerShell这类程序可以解决这些问题,它支持宏命令和脚本来帮你完成自动化的管理和控制,你可以把计算机未来要做的事情写成脚本来
张善友
2018/01/29
8290
TCP分段与IP分片的区别与联系
我们在学习TCP/IP协议时都知道,TCP报文段如果很长的话,会在发送时发生分段(Segmentation),在接收时进行重组,同样IP数据报在长度超过一定值时也会发生分片(Fragmentation),在接收端再将分片重组。如果之前你和曾经的我一样,经常混淆这两个概念,甚至一度以为两者表示的是同一个协议栈机制,那么本文就将通过详细介绍分段与分片的区别与联系,力图让你对此有一个更为完整、严谨的理解。
我是东东东
2018/08/01
13.5K1
即将到来的ECMAScript 2022标准
ES2021 或 ES12 在今年夏天早些时候发布(具体的ES2021新特性,可以查看这里),现在我们来看看ES2022 会带来什么有意思的新特性。
落落落洛克
2021/09/17
5460
即将到来的ECMAScript 2022标准
内存分段与分页机制
8086CPU以后总线寻址和CPU位数趋于一致,操作系统结构向下兼容,线性地址基址置0:
sofu456
2019/07/09
1.3K0
内存分段与分页机制
Ai革命即将到来
第一次持续百年的工业技术革命释放了人类的体能,第二次的互联网信息技术革命释放了人际之间的距离感,本次即将进行的大数据、人工智能、量子计算机技术革命将释放人类的脑力。 最近这次信息技术革命的高峰影响时间大约可以持续50年,在发展阶段上,前20年是技术开发和实现,后30年则是技术的应用。至目前为止,过去的20年是互联网技术推广蔓延的时期,当下已经开始进入互联网应用时代,伴随人工智能发展的萌芽,其势一浪接着一浪,一浪高过一浪。 历史上,人类每一次技术革命,都会带来全员思想的一次跃升,政治和经济模式的改变,以及
企鹅号小编
2018/02/26
6330
Ai革命即将到来
第二次云计算浪潮即将到来
思科委托IDC发起的调研显示,53%的企业预期云计算将在未来两年推动收入增加,44%的企业正在使用或计划实施私有云。预示着第二次云计算发展浪潮即将到来。 IDC对17个国家和地区的3400家企业中负责IT决策的高管进行了市场调研,这些公司均在其IT环境中成功实施了私有云、公有云和混合云。调查显示,各公司不再只是关注提高效率和降低成本,而是希望将云作为一个平台,来推动创新、促进增长和实现业务的突破性发展,但这对许多企业而言也充满挑战,目前仅有1%的企业部署了优化的云战略,而有32%的企业尚未制定云战略。 在调
静一
2018/03/23
5680
即将到来的风暴 ——SDN/NFV探讨
编者按:SDN和NFV是什么?有什么作用?能为我们带来什么?这都是我们普遍关心的问题,随着新技术的诞生,SDN/NFV也日渐火热,但真正能说的明白的却极少,本文是对这一问题的探讨。 1. SDN和NF
SDNLAB
2018/04/04
6940
即将到来的风暴 ——SDN/NFV探讨
最终预览版 Beta 4 现已发布,Android P 正式版即将到来!
Android P 即将面世,新平台目前正处于最后调试阶段。今天,我们向各位开发者发布 Android P 的 Beta 4 版本。
Android 开发者
2018/08/02
4460
最终预览版 Beta 4 现已发布,Android P 正式版即将到来!
因子投资:最好的时代即将到来!
因子投资大约在10年前开始兴起,它植根于过去几十年积累的大量实证研究。资产定价文献表明,规模、价值和动量等因子可以解释股票的截面收益,而共同基金文献发现,除了因子暴露的倾斜之外,几乎没有任何其他主动管理能力的证据。综上所述,这些观点主张以系统、有效的方式获取因子溢价。在挪威政府养老基金委托进行的一项有影响力的研究中,Ang、Goetzmann和Shaefer(2009)甚至建议在战略资产配置中包括因子溢价,仅次于传统资产类别的风险溢价。尽管资产所有者通常不愿走那么远,但因子投资已经成为一种成熟的投资方法。虽然量化投资已经存在了很长时间,但因子投资倾向于更明确地选择因子及其期望的权重。
量化投资与机器学习微信公众号
2023/04/20
5970
因子投资:最好的时代即将到来!
3.3 分页管理与分段管理的比较
分页 管理方式和分段管理方式在很多地方相似,比如内存中都是不连续的,都有地址变换机构来进行地址映射等。但两者也存在着很多区别。
week
2018/08/27
4650
Kafka日志分段与消息查找
Kafka作为一个消息中间件(后面Kafka逐渐转向一个流失处理平台KafkaStream),消息最终的存储都落在日志中。
shysh95
2020/03/06
4K0
Kafka日志分段与消息查找
node网页分段渲染与bigpipe(一)
页面渲染,通常来说分为前端渲染以及后端渲染。前端渲染指的是服务端返回html框架以及模版,前端通过ajax异步请求拉取数据渲染模版,并动态修改dom,形成最终页面。服务端渲染则是服务端通过在后端拉取数据以及后端模版渲完整页面,并返回到客户端。2种方法各有好处,后端渲染带来的则是首屏时间的提高,减少请求次数,利于SEO等好处。但是传统后端直出渲染需要等到整个网页渲染完成,才能返回到客户端。假如某个区块拉取数据比较慢,影响了渲染的速度,那对于用户来说,等待的时候也会跟着变长对于后端渲染能否跟前端ajax渲染一样
用户1097444
2022/06/29
3770
node网页分段渲染与bigpipe(一)
Javascript即将到来的3个新特性
这是我们现在 ES6 中会遇到的问题,原因是 user 中没有 address 对象,然后我们这样判断:
进击的小进进
2022/03/28
3150
Javascript即将到来的3个新特性
操作系统:分段与分页内存
现代操作系统的普遍做法是引入“虚拟内存”的机制,应用程序是面向虚拟内存编写的而不是面向物理内存。应用程序在运行的时候使用的是虚拟地址,CPU负责将虚拟地址转换为物理地址。
灯珑LoGin
2022/10/31
8730
操作系统:分段与分页内存
即将到来的AI革命之生存指南
大众媒体相信,人工智能(AI)会偷走你的工作,威胁到我们的生活。如果现在不做准备,我们可能会面临一个人工智能无处不在,并主宰着人类社会的未来。人工智能革命事实上正在进行着。为了确保你为未来做好准备,在此我们为你准备了一个生存指南。 第一步:识别人工智能 冲突的第一步需要了解你的目标。关键在于,我们需要认识到人工智能并不存在于未来,它已经在我们的身边了。 你很可能每天都在使用它。人工智能就是你的 Facebook 时间表背后的神奇粘合剂,Netflix 知道提示你接下来该看什么,谷歌会预测你上车后的目的地
CDA数据分析师
2018/02/08
5760
即将到来的AI革命之生存指南
通往Java 9之路:每年两次发布即将到来
Oracle将加速标准Java的发布,每六个月推出一个新版本的Java开发工具包(JDK),每三年更新一次长期支持的版本。因此,下个版本的Java9将在2018年3月发布,距现在还有6个月。 到目前为止,甲骨文每两年左右都会提供Java的主要版本,固定为1~2个特性。但是,这种主导功能驱动的方法在即将到来的JDK 9中造成了延迟,JDK 9最终由于其复杂的模块化功能的开发而停滞在9月21日。 Oracle还将为主要版本的Linux,MacOS和64位Windows创建两年一次的OpenJDK二进制文件。
Java技术栈
2018/03/30
7750
通往Java 9之路:每年两次发布即将到来
node网页分段渲染与bigpipe(一)
页面渲染,通常来说分为前端渲染以及后端渲染。前端渲染指的是服务端返回html框架以及模版,前端通过ajax异步请求拉取数据渲染模版,并动态修改dom,形成最终页面。服务端渲染则是服务端通过在后端拉取数
IMWeb前端团队
2017/12/29
8660
node网页分段渲染与bigpipe(一)
node网页分段渲染与bigpipe(一)
页面渲染,通常来说分为前端渲染以及后端渲染。前端渲染指的是服务端返回html框架以及模版,前端通过ajax异步请求拉取数据渲染模版,并动态修改dom,形成最终页面。服务端渲染则是服务端通过在后端拉取数据以及后端模版渲完整页面,并返回到客户端。2种方法各有好处,后端渲染带来的则是首屏时间的提高,减少请求次数,利于SEO等好处。但是传统后端直出渲染需要等到整个网页渲染完成,才能返回到客户端。假如某个区块拉取数据比较慢,影响了渲染的速度,那对于用户来说,等待的时候也会跟着变长对于后端渲染能否跟前端ajax渲染一样,分块分区域传统的服务端直出渲染,下面将提供一种解决方案-网页分段渲染。
IMWeb前端团队
2019/12/04
7200
node网页分段渲染与bigpipe(一)
AI 时代下的 SUSE 新洞察:无处不在的边缘计算革命即将到来
随着生成式 AI 等前沿技术的迅速发展,一场全新的技术变革正在悄然引领数字创新的浪潮。这种变革为企业未来发展带来了无限可能,使其能够高效应对 IT 挑战、提高生产效率,创造出前所未有的商业价值。然而在这场变革的另一面,“数字信任”已经成为不可或缺的标准,各大厂商都希望通过严格的网络安全实践和强大的数据保护措施,为企业数字创新提供坚实的保障,确保其能够在充满挑战的数字时代稳健发展。SUSE 作为全球范围内创新、可靠且安全的企业级开源解决方案领导者,正在持续推动其在安全、稳定、可靠、可互操作等方面的技术进步,以帮助企业应对不断变化的市场需求。
深度学习与Python
2023/09/27
3440
AI 时代下的 SUSE 新洞察:无处不在的边缘计算革命即将到来

相似问题

条带化:预览即将到来的发票以更新订阅

10

如何从即将到来的发票条带api调用中接收即将到来的发票pdf?

10

如何使用Zuora预览即将到来的发票?

12

获取按比例计算的数量更改的即将到来的条带发票

121

Stripe API:收到取消订阅的即将到来的发票

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文