日历
网志分类
· 所有网志 (1198)
· 职业发展类 (44)
· 个人隐私类 (304)
· 商业秘密类 (5)
· 休闲娱乐类 (313)
· 科技情报类 (183)
· 经营管理类 (55)
· 投资金融类 (98)
· 信息科学类 (33)
· 办公自动化 (40)
· 外语学习类 (9)
· 艺术文学类 (10)
· 知识是无价的 (19)
· 跳蚤市场 (3)
· 法律和法规 (13)
· 封建迷信:) (27)
· 儿童贩卖:) (14)
· 未分类 (28)
最新的评论
· 08/21 我是知道这个消...
· 08/21 华主席昨天中午...
站内搜索
友情链接
· 我的歪酷 非非共享界
· 《用初等矩阵表示图形学中的一些重要几何变换》版本1.02
· 介绍LaTeX排版系统
· 《初等矩阵的射影几何意义及其应用》
· 中山大学化学专业资源
· 北京大学量子化学讨论组
· 核磁和红外方面的资源
· 化学等方面资源的链接
· 华尔街华裔投资分析师唐庆华
· NIST工程统计手册eBook
· 分子结构免费软件
· 研学论坛
· CAD/CAM/CAE-iCAx综合论坛
· 均匀试验设计方面-香港浸会大学
· 分析技术论坛
· 中国国家知识产权局
· SAS中文论坛
· MIT课程镜像
· 奇迹文库
· matlab辅助工具箱及其它
· 动力论坛-酷
· 矩阵论坛
· 仿真论坛
· 中国经济史论坛
· 美国专利商标局
· 可下载资源的elmo主页
· 加拿大专利数据库
· 中文晶体结构专业网站
· 山城棒棒军的Matlab博客
· 博士家园-论坛
· 飞宇论坛【数学、人工智能】
· 科学教育Matlab Database
· 外语时空(多国语言)
· Acrobat Reader软件下载之一
· 动力学与控制系统论坛:各种资源
· 各国专利,一网打尽:我的最爱
· 中国学术交流园地
· 生命科学与医药学论坛
· 清华大学出版社图书配套资源
· MIT开放式课程(OCW) 中国镜像
· 计算机视觉研究中的投影理论和方法
· KnowItAll free soft ware
· Mathworks Inc
· 优秀网友的优秀的blog资源多多
· ESA欧洲航空航天局
· 介绍stereohomology概念的主页
· 分形——哈尔滨理工大学

订阅 RSS

0054760

歪酷博客

Welcome to cooooldog's homepage!

Schematic diagrams of Convolution  卷积操作的示意图

Overseas


帅小呆 @ 2008-09-22 20:38


我无法适应新的地方的床;  所以, 没睡好觉.

无法适应那气味, 不知道是家具还是地板的味道, 本来以为没什么, 但没想到这么厉害!

无法适应那里大大小小的蟑螂,  -----  感觉挺不好过的. 

条件非常简陋居然...

唉. 该好的地方不好,


 
帅小呆 @ 2008-09-21 22:40

马季就是迄今为止最后一个跟我合租的人.

该人大学比我早两年, 在日本某学校完成学业; 现在在某日资软件公司做Program manager.

因为公司迁址, 加上房子到期, 这小子就走了.

马季是发音相似, 方便我用拼音输入法. 


酒量很好. 据说是高中毕业才被发现具有这个天赋的. 

看过他日本读书时候的照片: 瘦猴一个, 但是现在, 从头到脚, 整个一个球形.

马季这厮, 平时吃饭必须啤酒下饭. 下饭的啤酒, 正常也得三五瓶, 就跟我喝凉水一样.


马季有过一次很惨的醉酒, 据扶他回来的小孙说是, 白酒2斤, 黄酒若干, 和啤酒N瓶. 轮流挨个, 不知道加起来喝了多少,

终于摇摇晃晃被扶了回来. 那次是周末. 

第二天, 他吐完就拍拍屁股擦擦嘴回杭州的婆家了.

气味熏人. 

我拼命忍着呕吐的感觉, 清理了N遍房间, 清水反复冲洗, 还是难以遏制这种凶恶的味道. 

后来被我拉下脸说: 以后不许这样!  后来果然没有这样过. 


今天请吃饭. 我直接点了3瓶给他. 

旁边一帮吃饭的接近80末90后的小师弟和小师妹们叽叽喳喳要吵翻天, 一点点酒就灌得脸通红的那种.

马季是属于闷声不响, 抿抿嘴, 三瓶酒下去了.   东北人就是厉害 这时我碰到的第二个酒量好的东北人.


 
帅小呆 @ 2008-09-21 20:48

基本保证了目的实现.



 
帅小呆 @ 2008-09-21 10:35


有意见就提嘛, 用不着这样...

我的电信的宽带还没到期.... 是不是要继续使用下去...



 
帅小呆 @ 2008-09-20 01:28


如果可以不计成本, 其实还是Matlab强大.

但是, license太贵了.


 
帅小呆 @ 2008-09-20 00:52

首先, 通过IT在受限帐户的C盘安装开源软件Octave 3.0.2(这个是当前的最新的稳定版);

其次, 编写PLS算法的函数, 我折腾半天, 修改成这个样子:

(由于Ycool显示字符时候自作聪明的一些做法, 文件的路径名的双引号下字符串中看到的 单斜杠, 其实double的, 双斜杠)

function [theta,w,cw,ssqdif,yres] = plsr(xreg,yreg,ninput,lv,plotopt);
[nrx,ncx] = size(xreg);
[nry,ncy] = size(yreg);
if nrx ~= nry
   error('Number of rows for input and output must be same!');
   return
end
ssqx = sum(sum(xreg.^2)');
ssqy = sum(sum(yreg.^2)');
x = xreg;
y = yreg;
I = eye(ncx);
w = zeros(ncx,lv);
for i = 1:lv
   w(:,i) = x'*y;
   w(:,i) = w(:,i)/norm(w(:,i));
   r(:,i) = x * w(:,i);
   x = x -  r(:,i) * w(:,i)';
   y = y - r*(r\y);
   ssq(i,1) = (sum(sum(x.^2)'))*100/ssqx;
   ssq(i,2) = (sum(sum(y.^2)'))*100/ssqy;
end
cw = r\yreg;
size(w)
size(cw)
thetam = w * cw;
save("-ascii","d:\octave\coefficient.txt","thetam");  % 这是因为Octave函数传递参数总是出错, 不得已只好保存到文件中;
% 这样以来,其实后面的部分意义不大了; 之所以要放D盘, 因为受限帐户只能读写D盘, 默认居然是安装所在的C
ssqdif = zeros(lv,2);
ssqdif(1,1) = 100 - ssq(1,1);
ssqdif(1,2) = 100 - ssq(1,2);
for i = 2:lv
  for j = 1:2
    ssqdif(i,j) = -ssq(i,j) + ssq(i-1,j);
  end
end
disp('  ')
disp('        Percent Variance Captured by PLS Model')
disp('  ')
disp('             ----X-Block------   ----Y-Block------')
disp('      LV#    This LV    Total    This LV    Total ')
disp([(1:lv)' ssqdif(:,1) cumsum(ssqdif(:,1)) ssqdif(:,2) cumsum(ssqdif(:,2))])
ypred = xreg * thetam;
yres = yreg - ypred;
rms = norm(yres);
if plotopt == 1 | plotopt == 2
   clf;
   if plotopt == 2
     
   else
     
   end
end
n = ncx / ninput;
for i = 1:ninput
   theta(:,i) = thetam(n*(i-1)+1:n*i);
end
Endfunction

那么, 有了函数, 如何实现和运行呢?
Octave远远没有Matlab方便. 
因为C:不能写, 只能把plsr.m保存在d:\octave 文件夹下面; 
运行之前, 先添加搜索路径:
addpath("d:\ocatve");
这样plsr.m才可以调用;

数据如何导入导出呢?
Octave提供的数据IO方式也非常尴尬, 是从类似C语言和Pascal等高级语言模仿来的, 很不方便;
因此, 如果是4000*1000这样的规模的矩阵, 根本无法像Matlab的 xlsread那么方便读入
只能逐行缓慢读入, 并转化成浮点数的矩阵的形式. -- 赶紧保存起来! 因为太不容易了!

做成 .mat的格式, 就可用和Matlab兼容了, 可以用load命令读入内存了;

使用plsr之前, 先要 load一下需要处理的数据: 比如, load PLSPredictor.mat;   文件的后缀也是必须的;
用whos可以查看Octave工作空间内存中变量的情况 --- 远远没有Matlab那么方便: 一看即知道.

然后 调用像在Matlab中调用plsr一样, 调用plsr, 计算出的需要用的系数根据前面修改的部分, 会以ascii码形式保存在
coefficient.txt 文件中, 这样就可以用于PLS预测了.

Octave因为借用了现成的一些免费开源的图形软件, 比如gunplot (这是安装时候的两个选项之一, 也是较为稳定成熟的)
所以, 图形处理功能尽管已经不错, 但是和Matlab中不少功能相比, 差距还是很大.  -- 不是一般的大. 所以, 我直接把后半部分
绘制plsr效果评价的图片部分"阉割"掉了.  

目的非常明确: 利用Octave有限的, 但是却具备了的计算功能, 实现PLSR的计算; 直奔目标, 拿到需要的系数.


哈哈哈哈哈, 我做到了!


 
帅小呆 @ 2008-09-19 23:52


今天吃饭的时候, 我似乎特别有魅力.

不知不觉间, 两瓶饮料都被我吸引过来了.... 一个2.3岁大小的丫头片子, 也模仿成人周星驰的坏笑, 在我旁边转悠.

Charlie 只不过是个孩子. 唉.  原来如此.



 
帅小呆 @ 2008-09-19 23:35


只能.... 慢慢来.


 
帅小呆 @ 2008-09-19 23:34

START-INFO-DIR-ENTRY
* Octave: (octave).	Interactive language for numerical computations.
END-INFO-DIR-ENTRY

Copyright (C) 1996, 1997, 2007 John W. Eaton.

Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.

Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.

Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions.

Table of Contents

Next: , Up: (dir)


GNU Octave

This manual documents how to run, install and port GNU Octave, as well as its new features and incompatibilities, and how to report bugs. It corresponds to GNU Octave version 2.9.12+.

--- The Detailed Node Listing ---

Preface

A Brief Introduction to Octave

Conventions

Format of Descriptions

Getting Started

Invoking Octave from the Command Line

Command Line Editing

Data Types

Built-in Data Types

Numeric Data Types

Matrices

Strings

Cell Arrays

Variables

Expressions

Calling Functions

Boolean Expressions

Statements

The for Statement

Functions and Script Files

Errors and Warnings

Debugging

Input and Output

Basic Input and Output

C-Style I/O Functions

Plotting

Matrix Manipulation

Arithmetic

Linear Algebra

Sparse Matrices

Numerical Integration

Differential Equations

Optimization

Statistics

Sets

Interpolation

Control Theory