日记

韩寒博客上面,没有主题的文章都是以日记标题,今天本来是有点东西写在博客里面的,比如一个学生的提问是不是能代表一个个体,比如国外东西比国内的便宜是不是因为供需关系所致(这些天看了不少铅笔经济研究社的东西)等等,但是在看了最优化的题目之后,就什么想法也没有了。

日子还是很平淡,却也不乏洗点缀,比如居然自己收到束二手话,比如光棍节还有人送甜的。

校园生活(1044)

校园生活(1047)

也就这样吧,MMD,这周都不知道该编什么,似乎有些烦恼。

Posted in 絮语心情 | Leave a comment

Google Reader 小技巧两则

自己看gReader也有蛮长时间了,对这一工具抱有相当的好感,认为这是获取资讯和提升阅读体验的绝佳途径,微博之类的消息,传达的只是观点,很少有深度的思考。当然,相对于读书而言,gReader里面的咨询和博客也算是快餐文化,也不比故作清高什么的。我喜欢看里面的博客,不过看到最多的还是rtmeme和cnbeta的资讯。平时最多的贡献就是在向身边其他人推荐一下这个工具,或者是把自己的订阅列表导出来,发给同学,方便他们使用。自己在使用的过程中,也逐渐学会了诸如rss全文显示,利用feed43订阅动态页面之类的技巧。下面这两条是自己最近才开始使用,也让自己略微方便一下的小技巧。

1.一直在用手机看Google reader的,但是Google reader里面没有和鲜果一样,提供一个手机阅读的标签,筛选掉一些平时不会再手机上看的条目。今天给一些图片很少,更新不是很频繁,内容较好的条目加上了mobile分类,然后在手机上打开这个分类后将地址存为书签。然后ucweb有一个快速拨号的页面,将这个书签添加上去,也算是达到了想要的效果.确实方便了自己阅读,改善了体验。

2.如果只是阅读,加加星标,可能还不够。因为星标没法进行区别,这时候标签就有用了,要做一个区分的是,标签tag是针对每一篇文章,而分类category是最对一个feed。加标签是一个区别内容的好办法,而写笔记这是终极应用了,Google reader里面的笔记共享按钮是默认勾选的,实际上,我以为笔记更多是给自己看的,今天找了个user script将那个按钮默认不选,贴在下面。

// ==UserScript==
// @name          Note in Reader not shared
// @namespace     http://www.google.com
// @description   Change default behavior for the bookmarklet "Note in Reader" 
// @include       http://www.google.com/reader/link-frame
// ==/UserScript==

document.getElementById("share").checked=false
Posted in 技术相关 | Tagged | Leave a comment

matlab计算单纯形表

今天花了点时间,将这个程序完成了,里面还有一些小错误,代码写的还是有点乱,明天再整理了

update:

今天又花了点时间,将程序里面的错误找出来了一些,现在这个程序应该大体是可用的,那么就这样了

min1=0.00001;(update:如果用nan的话,效果更好,将这些数忽略掉

%b 约束条件 向量(update 应该是行向量)

function [JI opt]=simplex2(C,CB,b,A,BL)

%purpose 验算手工单纯形
%define variables
%C 目标函数变量系数 行向量
%CB 辨识初始基 行向量
%b 约束条件 向量
%A 约束系数矩阵 矩阵
%delta 检验数 行向量
%JBL 基变量序号
%BL 基向量位置-----------换一个结构变成一个逻辑向量
%FBL 非基变量位置
%JI 解
%opt 目标值
%MAX1 提供一个极大值
%MIN1 提供一个极小值
format rat;

max1=100000;
min1=0.00001;
delta=C-CB*A;%计算检验数
[YS GS]=size(A);%非基变量是哪些
disp('显示第一个表')
    disp(C);
    disp(A);
    disp(delta);
    temp12=length(BL);
    s='基变量有X';
    ss='';
    for iij=1:temp12
        ss=strcat(ss,[s num2str(BL(iij)) ' ']);
    end
    disp(ss);
%BL;%这里应该把基变量记载下来

kk=1;
for iii=1:GS      %区别基变量和非基变量
    if all(BL~=iii)
        FBL(kk)=iii;
        kk=kk+1;
    end
end
while (1)%这里就该是一个无限循环,不需要跳出条件,跳出在下面的return里面实现
    if max(delta)<=0
        if all(CB<1.04e-14) if ?]); ? num2str(BL(iij)) ss="" iij="1:temp12" for ; s="基变量有X" CB(temp17)="0;" temp17="CB==max1;">0;%找出检验数为正的项,这一段程序有问题,得不到我想要的东西
        temp1=A(:,deltaj);%找出检验数为正项对应的向量
        temp2=max(temp1);%找出检验数为正项对应的向量的每一列当中最大项
        if any(temp2<0) 
            disp('无界解');
            JI=0;
            opt=0;
            return;
        else
            [deltak,k]=max(delta);
            aik1=A(:,k);%储存A
            %temp3=A(:,k)<0;
         %   temp5=A(:,k);
         %   A(:,k)(temp3)=max1;%将负数转化为正数,以便下一步最小值判断不要出错
         %  A(:,k)
         %用下面这个循环实现这个功能
            temp3=size(A(:,k));
            for iii=1:temp3
                if A(iii,k)<0
                    A(iii,k)=min1;
                end
            end
            [theta,l]=min(b'./A(:,k));%l就是序号         
            A(:,k)=aik1;
     
            %迭代运算
            CB(l)=C(k);%换基  这边就有问题了,替换时候原来的变量没有保留
            BL(l)=k;%保留下面需要的变量 下面这段有问题,是我的思路没想清晰的原因
            tempbl=b(l);%保留b(l)以供下面计算
            tempA=A(l,:);%保留A(l,:)供下面计算
            b(l)=b(l)/A(l,k);
            tempALK=A(l,k);%保留A(l,k)
            A(l,:)=A(l,:)/A(l,k);
            for ii=1:length(A(:,1))
                 if ii~=l
                     b(ii)=b(ii)-A(ii,k)*tempbl/tempALK;
                     A(ii,:)=A(ii,:)-A(ii,k)*tempA/tempALK;
                 end
            end
        end
    end
    input('enter键显示下一个单纯形表');
    delta=C-CB*A;
    disp(C);
    disp(A);
    disp(delta);
    ss='';
    for iij=1:temp12
        ss=strcat(ss,[s num2str(BL(iij))]);%显示基变量
    end
    disp(ss);

end
Posted in 读书笔记 | Tagged , | Leave a comment